- 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())
输出
执行上述代码后,我们将得到以下结果:
广告