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 中布局管理的一个典型用法,用于将控件添加到布局中,并将布局设置给容器部件。以下是代码的详细解释:
-
layout = QVBoxLayout():- 创建一个垂直布局对象
layout。QVBoxLayout是 PyQt 中的一个类,用于管理控件的垂直排列。
- 创建一个垂直布局对象
-
layout.addWidget(button):- 将一个按钮控件
button添加到layout中。addWidget是QVBoxLayout的一个方法,用于将控件添加到布局中,控件会按照添加的顺序垂直排列。
- 将一个按钮控件
-
groupBox.setLayout(layout):- 将创建的垂直布局
layout设置给groupBox。setLayout是QGroupBox的一个方法,用于设置容器部件的布局管理器。这样,groupBox内部的控件就会按照layout的规则进行排列。
- 将创建的垂直布局
这段代码的作用是将按钮 button 添加到垂直布局中,并将该布局应用到分组框 groupBox 上。这样,按钮 button 就会显示在分组框内部,并且随着分组框的展开和折叠而显示或隐藏。
浙公网安备 33010602011771号