QListWidget 中可交互调整大小的行

Posted

技术标签:

【中文标题】QListWidget 中可交互调整大小的行【英文标题】:interactivly resizable rows in QListWidget 【发布时间】:2014-12-11 11:25:08 【问题描述】:

在 QTableWidget 中,我可以通过将 verticalHeaderresizeMode 设置为 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 中可交互调整大小的行的主要内容,如果未能解决你的问题,请参考以下文章

使 QListWidget 调整其项目的大小以填充空间

如何使 QListWidgetItem 根据其内容自动调整大小,并适合其 QListWidget

调整 QTreeWidget 内的小部件大小(使用 setItemWidget 设置)?

带有 setWordWrap(True) 的 QLabel 在放置在 QListWidget 中时不会垂直调整大小,即使 resizeMode 已设置为 Adjust

正确调整基于视图的 NSTableView 上的行大小

电脑做好的xlsx表格怎么调大?