- PyQt 教程
- PyQt - 首页
- PyQt - 简介
- PyQt - 环境配置
- PyQt - Hello World
- PyQt - 主要类
- PyQt - 使用 Qt Designer
- PyQt - 元对象
- PyQt 信号与槽
- PyQt - 信号和槽
- PyQt - 支持和信号
- PyQt - 未绑定和已绑定信号
- PyQt - 使用 PyQtSignal 创建新信号
- PyQt - 连接、断开和发射信号
- PyQt - 槽装饰器
- PyQt - 槽连接
- PyQt 布局
- PyQt - 布局管理
- PyQt - QBoxLayout
- PyQt - QGridLayout
- PyQt - QFormLayout
- PyQt - QHBoxLayout
- PyQt - QVBoxLayout
- PyQt - QStackedLayout
- PyQt - QGraphicsGridLayout
- PyQt - QGraphicsAnchorLayout
- PyQt - QGraphicsLayout
- PyQt - QGraphicsLinearLayout
- PyQt 基本控件
- PyQt - 基本控件
- PyQt - QLabel 控件
- PyQt - QLineEdit 控件
- PyQt - QPushButton 控件
- PyQt - QRadioButton 控件
- PyQt - QCheckBox 控件
- PyQt - QComboBox 控件
- PyQt - QSpinBox 控件
- PyQt - QMessageBox
- PyQt - QDialogButtonBox 控件
- PyQt - QFontComboBox 控件
- PyQt - QDoubleSpinBox 控件
- PyQt - QToolBox 控件
- PyQt - QDialog 类
- PyQt - QMessageBox
- PyQt - 多文档界面
- PyQt - 拖放
- PyQt 绘图 API
- PyQt - 绘图 API
- PyQt 数据库
- PyQt - 数据库处理
- PyQt 核心知识
- PyQt - BrushStyle 常量
- PyQt - QClipboard
- PyQt - QPixmap 类
- PyQt 有用资源
- PyQt - 快速指南
- PyQt - 有用资源
- PyQt - 讨论
PyQt - QCheckBox 控件
QCheckBox 控件是一个用户界面元素,允许用户在两种状态之间切换:选中和未选中。它通常用于表单、首选项设置以及任何向用户呈现二元选择的场景。
当一个 QCheckBox 对象添加到父窗口时,文本标签前面会出现一个矩形框。与 QRadioButton 一样,它也是一个可选按钮。它的常用场景是当用户被要求从可用选项中选择一个或多个选项。
与单选按钮不同,复选框默认情况下不是互斥的。为了将选择限制在可用项目中的一个,必须将复选框添加到 QButtonGroup 中。
QCheckBox 控件的基本属性
- 文本 - 复选框旁边显示的文本。
- 选中状态 - 复选框的初始状态(选中或未选中)。
- 三态 - 允许使用附加状态,通常用于“不确定”状态。
- 启用 - 确定复选框是否可交互。
QCheckBox 控件中使用的方法
下表列出了常用的 QCheckBox 类方法:
| 序号 | 方法及描述 |
|---|---|
| 1 |
setChecked() 更改复选框按钮的状态 |
| 2 |
setText() 设置与按钮关联的标签 |
| 3 |
text() 检索按钮的标题 |
| 4 |
isChecked() 检查按钮是否被选中 |
| 5 |
setTriState() 为复选框提供无变化状态 |
每次选中或清除复选框时,对象都会发出 stateChanged() 信号。
示例 1:基本复选框
在这个例子中,我们创建一个简单的窗口,其中包含一个标记为“启用功能”的复选框。复选框最初处于选中状态 (setChecked(True))。当复选框状态更改时,它会调用 checkbox_state_changed 方法,该方法会打印该功能是启用还是禁用。
import sys
from PyQt6.QtWidgets import QApplication, QMainWindow, QCheckBox
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
checkbox = QCheckBox('Enable Feature', self)
checkbox.setChecked(True)
checkbox.stateChanged.connect(self.checkbox_state_changed)
self.setCentralWidget(checkbox)
def checkbox_state_changed(self, state):
if state == 2:
print("Feature enabled!")
else:
print("Feature disabled!")
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec())
输出
以上代码产生以下输出:
示例 2:动态创建复选框
在这里,我们使用 QVBoxLayout 动态创建五个标记为“选项 0”到“选项 4”的复选框。每个复选框都连接到 checkbox_state_changed 方法,该方法会在其状态更改时打印复选框是否被选中。
import sys
from PyQt6.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QCheckBox, QWidget
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
central_widget = QWidget()
layout = QVBoxLayout()
for i in range(5):
checkbox = QCheckBox(f'Option {i}', self)
layout.addWidget(checkbox)
checkbox.stateChanged.connect(self.checkbox_state_changed)
central_widget.setLayout(layout)
self.setCentralWidget(central_widget)
def checkbox_state_changed(self, state):
checkbox = self.sender()
print(f"{checkbox.text()} is {'checked' if state == 2 else 'unchecked'}")
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec())
输出
执行上述代码后,我们将得到以下结果:
广告