Python PyQt:如何为各个标题设置不同的标题大小?

Python PyQt:如何为各个标题设置不同的标题大小?,python,pyqt,resize,qtablewidget,qheaderview,Python,Pyqt,Resize,Qtablewidget,Qheaderview,我有一个包含两个项目的列表,一个单词和一个数字。这个列表将使用tablewidget显示 我的目标是生成一个包含两列和必要行的表,但是包含单词的列的标题应该大于数字列 我可以使用调整列大小来调整内容,但我希望在调整大小后,表格周围没有空白 对于gui代码的创建,我正在使用QtDesigner。谢谢。该类中有一些方法可能会满足您的需要。最简单的是: table.horizontalHeader().setStretchLastSection(True) 这将确保自动调整最后一列的大小以适应表中的

我有一个包含两个项目的列表,一个单词和一个数字。这个列表将使用tablewidget显示

我的目标是生成一个包含两列和必要行的表,但是包含单词的列的标题应该大于数字列

我可以使用调整列大小来调整内容,但我希望在调整大小后,表格周围没有空白


对于gui代码的创建,我正在使用QtDesigner。谢谢。

该类中有一些方法可能会满足您的需要。最简单的是:

table.horizontalHeader().setStretchLastSection(True)
这将确保自动调整最后一列的大小以适应表中的可用空间,保持其他列的宽度不变(用户可以调整大小)

或者,也可以使用一些方法来设置列的长度

对于Qt5:

table.setColumnWidth(1, 80)
table.horizontalHeader().setSectionResizeMode(0, QHeaderView.Stretch)
对于Qt4:

table.setColumnWidth(1, 80)
table.horizontalHeader().setResizeMode(0, QHeaderView.Stretch)

这将固定第二列的宽度,并确保自动调整第一列的大小以填充剩余空间(但防止用户进行任何其他调整)。

最佳解决方案是,在
Qt5
中,您必须使用
setSectionResizeMode
而不是
setResizeMode

tabv = QTableView()
tabv.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)


有没有一种方法可以使用Qt设计来实现这一点?是否有选项?designer中没有用于
ResizeMode
的选项,但有用于
setStretchLastSection
(即属性编辑器中的
标题/水平标题StretchLastSection
)的选项。
tabv.horizontalHeader().setSectionResizeMode(1)