Qt Designer Auto直接从Designer安装tableWidget

问题描述 投票:1回答:1

我试图将tableWidget列自动适应tableWidget的可用区域

目前我的布局如下图所示。可以看出,右侧有不必要的空白区域,我想在四列之间均匀填写。

enter image description here

horizontalHeaderStretch设置为True(如下所示)并非我所追求的。这会不均匀地拉伸最后一列。

enter image description here

我试图将sizeAdjustPolicy设置为AdjustToCOntents,但我看到没有明显的区别。

enter image description here

类似的问题可以在here找到,但我找不到任何关于如何直接从设计师这样做的提及。

有关如何做到这一点的任何建议?提前致谢。

python python-3.x pyqt pyqt5 qt-designer
1个回答
1
投票

您指定的功能无法使用Qt Designer完成。在Qt Designer中,只能修改由DESIGNABLE标志启用的Q_PROPERTY,但setSectionResizeMode()不是Q_PROPERTY,而是QHeaderView的方法,在docs中指示:

DESIGNABLE属性指示属性是否应该在GUI设计工具的属性编辑器中可见(例如,Qt Designer)。大多数属性都是DESIGNABLE(默认为true)。您可以指定布尔成员函数,而不是true或false。

因此,您必须以编程方式执行此操作:

header = self.table.horizontalHeader()       
header.setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch)
header.setSectionResizeMode(1, QtWidgets.QHeaderView.ResizeToContents)
header.setSectionResizeMode(2, QtWidgets.QHeaderView.ResizeToContents)
# ...
© www.soinside.com 2019 - 2024. All rights reserved.