4.PyQt5【布局组件】水平布局-QHBoxLayout

一、前言

QLayout是Qt中布局管理器的抽象基类,通过对QLayout的继承,实现了功能各异且互补的布局管理器。布局管理器不是界面组件,而是界面组件的定位策略;任意容器类型的组件都可以指定布局管理器;同一个布局管理器管理中的组件拥有相同的父组件,在设置布局管理器的同时已经隐式指定了父子关系。
Qt布局管理器的addWidget用于向布局管理器中插入控件,addLayout用于向布局管理器插入子布局管理器。

二、学习目标

1.QHBoxLayout水平布局应用

三、知识点

水平布局将多个控件在水平方向排列,控件之间的间隔相同。

1.【QHBoxLayout水平布局应用】

  • 添加步骤

    1)创建水平布局实例:QHBoxLayout()

    2)创建子组件,如按钮组件

    3)为布局添加子组件:addWidget()

    4)为窗体设置布局:setLayout()

  • 代码示例

    import sys
    from PyQt5.QtWidgets import QApplication, QWidget, QHBoxLayout, QPushButton
    
    
    class QmyWidget(QWidget):
    
        def __init__(self, parent=None):
            super().__init__(parent)  # 调用父类的构造函数,创建QWidget窗体
            self.setupUi()
    
        def setupUi(self):
            """页面初始化"""
            # 1.创建水平布局实例
            self.layout = QHBoxLayout()
            # 2.创建子组件,如按钮组件
            self.button1 = QPushButton("Button1")
            self.button2 = QPushButton("Button2")
            self.button3 = QPushButton("Button3")
            self.button4 = QPushButton("Button4")
            # 3.为布局添加子组件
            self.layout.addWidget(self.button1)
            self.layout.addWidget(self.button2)
            self.layout.addWidget(self.button3)
            self.layout.addWidget(self.button4)
            # 4.为窗体设置布局
            self.setLayout(self.layout)
    
    
    if __name__ == '__main__':
        app = QApplication(sys.argv)
        myMain = QmyWidget()
        myMain.show()
        sys.exit(app.exec_())
    
posted @ 2023-01-16 10:31  测开星辰  阅读(594)  评论(0)    收藏  举报