QListWidget 中可交互调整大小的行
Posted
技术标签:
【中文标题】QListWidget 中可交互调整大小的行【英文标题】:interactivly resizable rows in QListWidget 【发布时间】:2014-12-11 11:25:08 【问题描述】:在 QTableWidget 中,我可以通过将 verticalHeader
的 resizeMode
设置为 Interactive
来配置用户在运行时调整行大小,如下所示:
table.verticalHeader().setResizeMode(QtGui.QHeaderView.Interactive)
如何为QListWidget
配置类似的行为?不幸的是 QListWidget
resizeMode
没有 Interactive
项目,我还没有找到类似的东西。
最好是为整个列表配置它,但如果可以为单行/项目也可以。
【问题讨论】:
【参考方案1】:正如doc所说:
此视图不显示水平或垂直标题;显示 带有水平标题的项目列表,请改用 QTreeView。
所以你应该使用QTreeView
(或QTreeWidget
)一栏,也许还有特定的样式。
另一种方法。没有标题,因此您可以提供一些工具(对话框窗口、滑块或其他东西),用户可以在其中更改行高,要更改行高,您应该使用setData()
并将QSize()
设置为Qt::SizeHintRole
.例如:
ui->listWidget->model()->setData(ui->listWidget->currentIndex(),
QSize(40,40),Qt::SizeHintRole);
【讨论】:
以上是关于QListWidget 中可交互调整大小的行的主要内容,如果未能解决你的问题,请参考以下文章
如何使 QListWidgetItem 根据其内容自动调整大小,并适合其 QListWidget
调整 QTreeWidget 内的小部件大小(使用 setItemWidget 设置)?
带有 setWordWrap(True) 的 QLabel 在放置在 QListWidget 中时不会垂直调整大小,即使 resizeMode 已设置为 Adjust