如何自动换行QTreeWidgetItem

时间:2010-03-03 09:28:54

标签: qt4 pyqt

我必须使用可能碰巧太长而无法放入单行的项目(或项目的子项)来填充QTreeWidget,因此我正在寻找一种方法来对它们进行自动换行。

我想

myQTreeWidget.setWordWrap(True)

(通过QtDesigner4完成)完成了这项工作,但情况似乎并非如此。

我不知道它是否相关,但树被包围在一个分割器框架中,因此包装应该以某种方式动态,以允许分割器的大小调整。

有什么想法吗?我使用PyQt4,但任何语言/绑定的提示都会受到赞赏。

2 个答案:

答案 0 :(得分:18)

我成功找到了一个解决方法:我在WidgetItem中包含一个QLabel,将QLabel设置为具有自动换行功能。

item = QTreeWidgetItem()
label = QLabel('long text here')
label.setWordWrap(True)

MyTree.addTopLevelItem(item)
MyTree.setItemWidget(item, 0, label)

行为正是所期望的行为!!

答案 1 :(得分:0)

setWordWrap只会导致词边界的缠绕......它不会强迫任何东西进入新的行。

您要找的是不可能,默认为QTreeWidget。我建议以另一种方式显示太长的文本,例如鼠标悬停文本或单独的标签。 TreeViews每个项目不应包含多行文本。