Интерактивно изменяемые размеры строк в QListWidget

В QTableWidget я могу настроить размер строк для изменения размера пользователем во время выполнения, установив verticalHeader«s resizeMode в Interactive как это:

    table.verticalHeader().setResizeMode(QtGui.QHeaderView.Interactive)

Как бы я настроить подобное поведение для QListWidget? К сожалению QListWidget resizeMode не имеет Interactive предмет, и я не нашел ничего подобного.

Лучше всего настроить его для всего списка, но когда это возможно для отдельных строк / элементов, это тоже подойдет.

3

Решение

Как доктор сказал:

Этот вид не отображает горизонтальные или вертикальные заголовки; для отображения
список элементов с горизонтальным заголовком, используйте вместо него QTreeView.

Так что вы должны использовать QTreeView (или же QTreeWidget) с одним столбцом и, возможно, с определенным стилем.

Другой подход. Там нет заголовка, поэтому вы можете предоставить какой-то инструмент (диалоговое окно, слайдер или что-то еще), где пользователь сможет изменять высоту строки, чтобы изменить высоту строки, вы должны просто использовать setData() и установить QSize() в Qt::SizeHintRole, Например:

ui->listWidget->model()->setData(ui->listWidget->currentIndex(),
QSize(40,40),Qt::SizeHintRole);
3

Другие решения


По вопросам рекламы [email protected]