pyqt5之GroupBox

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

app = QApplication(sys.argv)

# 创建一个 QWidget 作为主窗口
main_widget = QWidget()

# 创建一个 QGroupBox
groupBox = QGroupBox("我的分组框")
groupBox.setStyleSheet("QGroupBox { border: 2px solid #000; }")
groupBox.setCheckable(True)  # 使分组框可折叠

# 创建一个按钮
button = QPushButton("点击我")

# 为分组框设置布局,并添加按钮
layout = QVBoxLayout()
layout.addWidget(button)
groupBox.setLayout(layout)

# 将分组框设置为中心部件
main_widget.setLayout(QVBoxLayout())
main_widget.layout().addWidget(groupBox)

main_widget.show()
sys.exit(app.exec_())

 

layout = QVBoxLayout()
layout.addWidget(button)
groupBox.setLayout(layout)

这段代码是 PyQt 中布局管理的一个典型用法,用于将控件添加到布局中,并将布局设置给容器部件。以下是代码的详细解释:

  1. layout = QVBoxLayout()

    • 创建一个垂直布局对象 layoutQVBoxLayout 是 PyQt 中的一个类,用于管理控件的垂直排列。
  2. layout.addWidget(button)

    • 将一个按钮控件 button 添加到 layout 中。addWidget 是 QVBoxLayout 的一个方法,用于将控件添加到布局中,控件会按照添加的顺序垂直排列。
  3. groupBox.setLayout(layout)

    • 将创建的垂直布局 layout 设置给 groupBoxsetLayout 是 QGroupBox 的一个方法,用于设置容器部件的布局管理器。这样,groupBox 内部的控件就会按照 layout 的规则进行排列。

这段代码的作用是将按钮 button 添加到垂直布局中,并将该布局应用到分组框 groupBox 上。这样,按钮 button 就会显示在分组框内部,并且随着分组框的展开和折叠而显示或隐藏。

posted on 2024-12-21 15:38  无名高地  阅读(9)  评论(0编辑  收藏  举报