动态调整QTreeWidget中列的宽度

4 投票
2 回答
10584 浏览
提问于 2025-04-18 02:20

我正在用PySide开发一个小应用。在我的应用中,我使用了QTreeWidget来显示类似表单的数据。这个QTreeWidget只有一列。我的问题是,当QTreeWidget里的元素横向扩展时,它没有显示水平滚动条。有没有人知道这个问题该怎么解决?

在尝试了一些方法后,我发现我需要动态地扩展列的宽度。这可能吗?

备注:我试过使用'setColumnWidth',效果很好。但我想要的是动态调整宽度。

提前谢谢大家!

2 个回答

2

在PySide2中,你可以使用这个:

header = self.treeWidget.header()
header.setSectionResizeMode(QtWidgets.QHeaderView.ResizeToContents)
header.setStretchLastSection(False)
header.setSectionResizeMode(5, QtWidgets.QHeaderView.Stretch)
13

你需要将表头的大小调整为内容的大小,同时关闭“最后一列拉伸”的选项:

    treewidget.header().setResizeMode(QtGui.QHeaderView.ResizeToContents)
    treewidget.header().setStretchLastSection(False)

撰写回答