【问题标题】:Qt Designer Auto Fitting the tableWidget directly from the DesignerQt Designer 直接从 Designer 自动调整 tableWidget
【发布时间】:2019-08-27 14:34:15
【问题描述】:

我正在尝试将tableWidget 列自动适应tableWidget 的可用区域

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

horizontalHeaderStretch 设置为True(如下所示)不是我想要的。这会不均匀地拉伸最后一列。

我尝试将sizeAdjustPolicy 设置为AdjustToCOntents,但没有发现明显差异。

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

关于如何做到这一点有什么建议吗?提前致谢。

【问题讨论】:

    标签: python python-3.x pyqt pyqt5 qt-designer


    【解决方案1】:

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

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

    所以你必须以编程方式进行:

    header = self.table.horizontalHeader()       
    header.setSectionResizeMode(0, QtWidgets.QHeaderView.Stretch)
    header.setSectionResizeMode(1, QtWidgets.QHeaderView.ResizeToContents)
    header.setSectionResizeMode(2, QtWidgets.QHeaderView.ResizeToContents)
    # ...
    

    【讨论】:

      猜你喜欢
      • 2014-10-22
      • 1970-01-01
      • 2018-07-16
      • 2012-09-24
      • 2017-06-06
      • 2011-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多