0

我正在尝试使用 python 在 pyqt5 中构建一个接口。

我要归档的内容似乎很容易,但我就是想不通。当用户调整窗口大小时,我只想让四个表调整大小和按钮保持固定宽度。而不是像现在这样反过来......

我希望有一个人可以帮助我。这个小问题快把我逼疯了。这是我的代码:

    import sys
    from PyQt5 import QtWidgets, QtGui
    from PyQt5.QtCore import Qt
    from PyQt5.QtWidgets import *

    class window(QtWidgets.QWidget):
        def __init__(self):
            super().__init__()
            self.interface()

        def interface(self):

            self.b1 = QtWidgets.QPushButton("B1")
            self.b2 = QtWidgets.QPushButton("B2")
            self.b3 = QtWidgets.QPushButton("B3")

            self.createTable()
            self.createTable2()
            self.createTable3()
            self.createTable4()

            splitter1 = QSplitter(Qt.Horizontal)
            splitter1.addWidget(self.tableWidget)
            splitter1.addWidget(self.tableWidget2)

            splitter2 = QSplitter(Qt.Horizontal)
            splitter2.addWidget(self.tableWidget3)
            splitter2.addWidget(self.tableWidget4)

            splitter3 = QSplitter(Qt.Vertical)
            splitter3.addWidget(splitter1)
            splitter3.addWidget(splitter2)

            hbox = QHBoxLayout()
            hbox.addWidget(splitter3)

            vbox = QVBoxLayout()
            vbox.addWidget(self.b1)
            vbox.addWidget(self.b2)
            vbox.addWidget(self.b3)

            master = QHBoxLayout()
            master.addLayout(vbox)
            master.addLayout(hbox)

            self.setLayout(master)
            self.show()


        #  ------ Create the table function ------
        def createTable(self):
            self.tableWidget = QTableWidget()
            self.tableWidget.setRowCount(10)
            self.tableWidget.setColumnCount(30)

        def createTable2(self):
            self.tableWidget2 = QTableWidget()
            self.tableWidget2.setRowCount(10)
            self.tableWidget2.setColumnCount(30)

        def createTable3(self):
            self.tableWidget3 = QTableWidget()
            self.tableWidget3.setRowCount(10)
            self.tableWidget3.setColumnCount(30)

        def createTable4(self):
            self.tableWidget4 = QTableWidget()
            self.tableWidget4.setRowCount(10)
            self.tableWidget4.setColumnCount(30)


    app = QtWidgets.QApplication(sys.argv)
    AWindow = window()
    sys.exit(app.exec_())
4

1 回答 1

0

没关系用 setMaximumWidth() 找到解决方案:

self.b1.setMaximumWidth(200) 
self.b2.setMaximumWidth(200) 
self.b3.setMaximumWidth(200)

:)

于 2017-04-15T17:28:21.763 回答