在QTreeWidget中显示与自定义项目窗口小部件的大小相关的滚动条

时间:2018-04-10 18:55:38

标签: python qt pyqt pyqt5

我使用PyQt5作为我的应用程序,使用QTreeWidget来显示内容。由于我需要显示富文本(HTML),因此每个项目的text属性都设置为“”,并且我使用所需的文本创建单独的QLabel。然后我使用QTreeWidget.setItemWidget。我的问题是使用该方法,当QTreeWidget小于(宽度)而不是项目的宽度时,不显示水平滚动条。这是合乎逻辑的,因为从QTreeWidget的角度来看,每个项目的宽度为0,因为它的文本是空的。

我尝试使用我使用的自定义帮助器方法而不是QLabel.setText方法,之后自动调用QLabel.setFixedSize方法,但它不能很好地工作(大小关闭5到90)每次都是像素。

怎样才能让整个事物自动确定何时显示滚动条,以及使用它们的宽度?

MCVE

tree = QTreeWidget()
item = QTreeWidgetItem(tree)
label = QLabel()
label.setText("<b>some text here</b>")
tree.setItemWidget(item, 0, label)

1 个答案:

答案 0 :(得分:1)

我什至遇到同样的问题,最后这个解决方案对我有用:

  • 将treewidget标头 StretchLastSection 设置为False
  • JFrame