为了账号安全,请及时绑定邮箱和手机立即绑定

如何调整pyqt5中垂直框布局中添加的小部件的几何形状

如何调整pyqt5中垂直框布局中添加的小部件的几何形状

GCT1015 2023-08-08 17:38:46
我创建了一个pyqt5具有vertical布局的窗口。在这个垂直布局中,我添加了 2 个按钮。默认情况下,它们垂直对齐,如下所示:如何调整按钮的几何形状以在上方移动。预期输出如下:这样,如果我添加第三个按钮,它就会位于按钮 2 的下方。以下是代码:import sysfrom PyQt5.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QWidget, QPushButtonclass MainWindow(QMainWindow):    def __init__(self, *args, **kwargs):        super(MainWindow, self).__init__(*args, **kwargs)        layout = QVBoxLayout()        widget = QWidget()        widget.setLayout(layout)        self.setCentralWidget(widget)        button1 = QPushButton('Button 1', self)        layout.addWidget(button1)        button2 = QPushButton('Button 2', self)        layout.addWidget(button2)app = QApplication(sys.argv)main_window = MainWindow()main_window.show()sys.exit(app.exec_())
查看完整描述

1 回答

?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

您需要设置布局的对齐方式并在添加的小部件之间添加一些间距,如下所示:


import sys

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

from PyQt5 import QtCore



class MainWindow(QMainWindow):


    def __init__(self, *args, **kwargs):

        super(MainWindow, self).__init__(*args, **kwargs)


        layout = QVBoxLayout()

        #set spacing between your widgets

        layout.setSpacing(5)

        #set alignment in your vertical layout

        layout.setAlignment(QtCore.Qt.AlignTop)

        widget = QWidget()

        widget.setLayout(layout)


        self.setCentralWidget(widget)


        button1 = QPushButton('Button 1', self)

        layout.addWidget(button1)


        button2 = QPushButton('Button 2', self)

        layout.addWidget(button2)



app = QApplication(sys.argv)

main_window = MainWindow()

main_window.show()

sys.exit(app.exec_())


查看完整回答
反对 回复 2023-08-08
  • 1 回答
  • 0 关注
  • 127 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信