在PyQ中调整QTableWidget中标题的高度

2024-06-23 19:34:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在我的应用程序中包含一个QTableWidget,我需要根据窗口大小在标题中的列stretch。目前,这些列只占一定的宽度,不会延伸到窗口。在

以下是我的问题的最小可验证示例:

import sys
from PyQt5 import QtWidgets

class MyTable(QtWidgets.QTableWidget):
    def __init__(self, *args):
        QtWidgets.QTableWidget.__init__(self, *args)
        self.setheader()
        self.resizeColumnsToContents()
        self.resizeRowsToContents()

    def setheader(self):
        self.setHorizontalHeaderLabels(['Label 1', 'Label 2', 'Label 3'])    

def main(args):
    app = QtWidgets.QApplication(args)
    table = MyTable(5, 3)
    table.show()
    sys.exit(app.exec_())


if __name__ == "__main__":
    main(sys.argv)

Tags: importselfapp应用程序initmaindefsys
1条回答
网友
1楼 · 发布于 2024-06-23 19:34:40

如果您正在实现QTableWidget这是您需要给出的实现拉伸效果的说明:

self.horizontalHeader().setSectionResizeMode(QtWidgets.QHeaderView.Stretch)

QTableWidget调用QHeaderView,并给它Stretch指令。以下示例是这方面的工作实现:

^{pr2}$

,结果是:

QTableWidget with stretching header - part 1

QTableWidget with stretching header - part 2

在上面的代码示例中,还有另一种可能,它将以不同的样式为您提供相同的目标。它已被注释,但您是否应该使用它(而不是第一条指令):

self.horizontalHeader().setStretchLastSection(True)

,并且只有最后一列将被拉伸:

QTableWidget with stretching header - part 3

相关问题 更多 >

    热门问题