PyQt复选框与单选框使用指南 🎛️
一、基础控件对比 📊
特性 |
QCheckBox |
QRadioButton |
选择模式 |
多选 (可独立选择) 🔘🔘 |
单选 (互斥选择) ⚠️ |
典型应用场景 |
多项选择设置 🛠️ |
互斥选项选择 🚥 |
三态支持 |
支持 (Checked/Unchecked/Partially) |
仅支持选中/未选中 |
默认信号 |
stateChanged(int) 📶 |
toggled(bool) 📡 |
二、基础使用示例 🛠️
1. 复选框基本用法
from PyQt5.QtWidgets import QCheckBox
self.checkbox = QCheckBox("启用特效", self)
self.checkbox.move(20, 50)
self.checkbox.stateChanged.connect(self.handle_checkbox)
def handle_checkbox(self, state):
if state == Qt.Checked:
print("特效已启用 🎇")
else:
print("特效已禁用 🚫")
2. 单选框分组使用
from PyQt5.QtWidgets import QRadioButton, QButtonGroup
self.radio1 = QRadioButton("低画质", self)
self.radio2 = QRadioButton("高画质", self)
self.radio3 = QRadioButton("自定义", self)
self.quality_group = QButtonGroup(self)
self.quality_group.addButton(self.radio1)
self.quality_group.addButton(self.radio2)
self.quality_group.addButton(self.radio3)
self.radio2.setChecked(True)
self.quality_group.buttonToggled.connect(self.handle_quality)
三、高级功能实现 🚀
1. 三态复选框
self.advanced_check = QCheckBox("安装选项", self)
self.advanced_check.setTristate(True)
self.advanced_check.stateChanged.connect(lambda state:
print(f"当前状态: {
['未选', '部分', '全选'][state//2]}"))
self.advanced_check.setCheckState(Qt.PartiallyChecked)
2. 动态生成选项组