我正在使用PySide开发一款计算机应用程序,并且正在使用QTableWidget。假设我的表格有3列,但它们包含的数据非常不同,例如(对于每一行)第一列中有一个长句子,然后在最后两列中有三位数的数字。我想要调整表格大小以适应数据,或者至少能够将列大小设置为可用空间的70/15/15%。
什么是最好的方法?
我尝试了在阅读this question之后使用
我也尝试了
从QHeaderView文档中,
任何帮助都将不胜感激,即使是关于Qt/C++的!非常感谢。
什么是最好的方法?
我尝试了在阅读this question之后使用
table.horizontalHeader().setResizeMode(QHeaderView.Stretch)
,但它使得3个列的大小相同。我也尝试了
table.horizontalHeader().setResizeMode(QHeaderView.ResizeToContents)
,感谢Fabio的评论,但它不能像需要的那样填充所有可用空间。从QHeaderView文档中,
Interactive
、Fixed
、Stretch
、ResizeToContents
都无法给我所需的结果(见第二次编辑)。任何帮助都将不胜感激,即使是关于Qt/C++的!非常感谢。
编辑:我找到了一种解决方法,但仍不是我想要的。
header = table.horizontalHeader()
header.setResizeMode(QHeaderView.ResizeToContents)
header.setStretchLastSection(True)
如果存在一个setStretchFirstSection
方法,那将会更好,但不幸的是似乎没有这样的方法。
编辑2:
表格中唯一可修改的是最后一列,用户可以在其中输入数字。红色箭头表示我想要的内容。
ResizeToContents
时,如果我的列不够大,它们就无法填满可用空间。我会进行编辑以使其更加清晰明了。 - AdrienW