如何在布局中使用中心按钮

问题描述 投票:1回答:1

我有一个QPushbutton被添加到一个布局中。当我设置按钮是可调整大小的,并增加窗口的大小,按钮变得非常大,我不喜欢。是否有一个比例选项可以在resizable选项中设置。这样,当我调整窗口大小时,按钮就会被调整大小,但比例不全。另外,我试图通过使用固定的大小来解决这个问题,但是按钮并没有在布局的中心,它看起来更像是被添加到不在中心的位置。是否有更好的解决方案,使按钮的大小,但与约束,或与固定的大小,但放在布局的中心。

from PyQt5.QtWidgets import QApplication, QPushButton, QVBoxLayout, QWidget

class Example(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)
        self.initUI()

    def initUI(self):
        self.AddButton = QPushButton("Add")
        #self.AddButton.setFixedSize(80,30)
        #self.AddButton.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)

        self.vbox = QVBoxLayout(self)
        self.vbox.addWidget(self.AddButton)

        self.setGeometry(300, 300, 300, 150)

if __name__ == "__main__":

    app = QApplication(sys.argv)
    ex = Example()
    ex.show()
    sys.exit(app.exec_())
python pyqt pyqt5
1个回答
1
投票

如果你想把它放在布局的中心,那么你要做的就是设置对齐方式。

def initUI(self):
    self.AddButton = QPushButton("Add")
    self.AddButton.setFixedSize(80,30)
    self.vbox = QVBoxLayout(self)
    self.vbox.addWidget(self.AddButton, alignment=Qt.AlignHCenter)

    self.setGeometry(300, 300, 300, 150)
© www.soinside.com 2019 - 2024. All rights reserved.