PyQt布局基础:部件的嵌套

QMainWindow

通常的做法是首先创建一个 QMainWindow 实例,然后创建一个或多个 QWidget 作为中心部件,并在这些中心部件中添加所需的小部件和布局。

class MainWindow(QMainWindow):  

    def __init__(self):  
        super().__init__()  

        self.initUI()  

central widget

QMainWindow 类提供了一个中心部件(central widget)的概念,它是窗口的主要内容区域。通常把其他的小部件(widgets)和布局(layouts)放在这个中心部件中,以构建窗口的用户界面。

	def initUI(self):  
        main_layout = QHBoxLayout()  # 创建主布局  
        central_widget = QWidget()  # 创建中心部件 
        central_widget.setLayout(main_layout)  # 将布局设置为中心部件的布局  
        self.setCentralWidget(central_widget)   # 设置窗口的中心部件  

在容器中创建控件

QWidget 是 PyQt5 中所有用户界面对象的基类,它可以包含其他小部件和布局,也可以作为其他小部件的容器。比如创建一个按钮容器,然后在容器中创建按钮:

        # 创建 button_container 并设置其布局  
        button_container = QWidget()  
        button_container.setFixedSize(150, 300) 
        button_container.setStyleSheet("QWidget { border: 1px solid blue; }")  

        button_layout = QVBoxLayout()
        button_container.setLayout(button_layout) 

        # 创建按钮添加到垂直布局  
        self.buttons = [QPushButton(f'Button{i+1}') for i in range(3)]      
        for button in self.buttons: 
            button.setFixedSize(50, 50)  
            button_layout.addWidget(button)  

在这里插入图片描述

这样做的好处是提供了一个清晰的结构来组织和管理用户界面元素

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值