【问题标题】:QTableWidget column resizeQTableWidget 列调整大小
【发布时间】:2021-03-28 04:59:58
【问题描述】:

在 Qt Designer 中使用设置创建表:

在 main.py 中,我只是调整了列的大小:

self.table1.setColumnWidth(0, 150)
self.table1.setColumnWidth(1, 700)

如果我运行 main.py,我会得到:

我的问题是:如果我调整窗口大小。我想保持状态列的宽度相同,只增加描述列的宽度。有人知道如何做到这一点吗?

【问题讨论】:

  • 您正在手动调整 all 列的大小,包括“描述”列,但我相信您想要的是自动调整该列,以便它占用尽可能多的空间尽可能,同时保持另一个宽度相同,对吧?
  • 正确。如果用鼠标在名称和描述之间抓取并向右移动。名称列应该更大,描述更小。状态应该是一样的。如果我抓住主窗口并将其向右移动,名称列和状态应该相同,只有描述应该变大。

标签: python pyqt5


【解决方案1】:

您必须设置水平标题特定部分的setSectionResizeMode(index, mode)

    self.table1.horizontalHeader().setSectionResizeMode( 
        1, QtWidgets.QHeaderView.Stretch)

【讨论】:

  • 如果我这样做,列描述和列状态是相同的大小。如果我调整主窗口的大小,每列的大小会变大,但大小仍然相同。
  • 您是否完全确定您写的 完全 我所做的,并且您也将“1”作为第一个参数?此外,您应该不再使用self.table1.setColumnWidth(1, 700),并取消选中horizontalHeaderStretchLastSection
  • 你是我的英雄 :) 非常感谢!
  • 不客气。请记住,如果某个答案帮助您解决了问题,您应该通过单击其左侧的复选标记将其标记为已接受。
猜你喜欢
  • 1970-01-01
  • 2021-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多