如何使QTableWidget最后一列的大小与其他列相等

2024-04-20 07:50:16 发布

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

我想制作一张表,使列表中项目的大小(宽度和高度)相等。但最后一列的宽度与其他列的宽度不同(已拉伸)

我已经使用setFixedSize来更改大小,也许这就是问题所在

见下图:
See this picture

这是我的代码:

import sys

from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QHeaderView, QTableWidget, QWidget

# Main Window
class App(QWidget):
    def __init__(self):
        super().__init__()
        self.title = "PyQt5 - QTableWidget"
        self.left = 200
        self.top = 100
        self.width = 740
        self.height = 880
        self.setWindowTitle(self.title)
        self.setGeometry(self.left, self.top, self.width, self.height)
        self.createTable()

    def createTable(self):
        self.tableWidget = QTableWidget(self)
        self.tableWidget.setRowCount(8)
        self.tableWidget.setColumnCount(8)
        self.tableWidget.setFixedSize(700, 700)
        self.tableWidget.move(100, 100)

        self.tableWidget.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
        self.tableWidget.horizontalHeader().setStretchLastSection(True)
        self.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)

        self.tableWidget.verticalHeader().setStretchLastSection(True)
        self.tableWidget.verticalHeader().setSectionResizeMode(QHeaderView.Stretch)


if __name__ == "__main__":
    app = QApplication(sys.argv)
    ex = App()
    ex.show()
    sys.exit(app.exec_())

我怎样才能修好它