勾选按钮QCheckBox类的基本用法
- 前言
- 正文
- 1、创建勾选按钮
- 2、勾选按钮获取选中状态
- 3、创建按钮组
- 4、按钮组添加勾选按钮
- 5、按钮组设置单选
- 6、按钮组信号:选中状态改变
- 7、按钮组获取所有勾选按钮
- 7.1、获取勾选按钮对象
- 7.2、获取勾选按钮文本
- 7.3、获取勾选按钮ID
- 7.4、按钮组设置多选时获取所有按钮的勾选状态
前言
此篇文章中介绍PySide2中 勾选按钮QCheckBox类的基本用法,包括 ”创建勾选按钮、勾选按钮获取选中状态、创建按钮组、按钮组添加勾选按钮、按钮组设置独占” 等,会持续进行更新,有需要的读者可以点赞收藏,也欢迎在评论区进行讨论。
正文
1、创建勾选按钮
self.ckb1 = QCheckBox("勾选按钮1", self.window)
self.ckb2 = QCheckBox("勾选按钮2", self.window)
self.ckb3 = QCheckBox("勾选按钮3", self.window)
self.ckb1.resize(150, 60)
self.ckb2.resize(150, 60)
self.ckb3.resize(150, 60)
self.ckb1.move(350, 120)
self.ckb2.move(350, 160)
self.ckb3.move(350, 200)
2、勾选按钮获取选中状态
通过 checkState() 方法获取选中状态
self.button.clicked.connect(self.btnClicked)
def btnClicked(self):
if self.ckb1.checkState(): # 判断勾选按钮1的选中状态
self.textEdit.appendPlainText(f"勾选按钮1已经勾选")
else:
self.textEdit.appendPlainText(f"勾选按钮1未勾选")
3、创建按钮组
self.ButtonGroup = QButtonGroup() # 创建按钮组对象
4、按钮组添加勾选按钮
self.ButtonGroup.addButton(self.ckb1, 0) # 参数:QCheckButton ID
self.ButtonGroup.addButton(self.ckb2, 1)
self.ButtonGroup.addButton(self.ckb3, 2)
参数:
QCheckButton:勾选按钮
ID:自定义数字编号
5、按钮组设置单选
通过 setExclusive() 方法来控制是否只能单选一个选项。
self.ButtonGroup.setExclusive(False) # exclusive属性, 来控制是否只能单选一个选项。
6、按钮组信号:选中状态改变
如果用户操作点击了按钮组 QButtonGroup 中的一个按钮, QButtonGroup 就会发出 buttonClicked 信号,可以这样指定处理该信号的函数
self.ButtonGroup.buttonClicked.connect(self.handleButtonClicked)
7、按钮组获取所有勾选按钮
7.1、获取勾选按钮对象
-
在QButtonGroup设置为单选情况下:通过 checkedButton() 方法即可获取选中的按钮对象
self.ButtonGroup.buttonClicked.connect(self.handleButtonClicked) def handleButtonClicked(self): self.textEdit.appendPlainText(f"按钮组按键状态改变:{self.ButtonGroup.checkedButton()}")
-
在QButtonGroup设置为多选情况下:通过 buttons() 方法 查看按钮组中的所有勾选按钮
self.ButtonGroup.buttonClicked.connect(self.handleButtonClicked) def handleButtonClicked(self): for i in self.ButtonGroup.buttons(): #buttons():查看所有按钮组中的按钮 self.textEdit.appendPlainText(f"按钮组按键状态改变:ID:{i}")
7.2、获取勾选按钮文本
调用返回的按钮对象的 text() 方法得到勾选按钮文本
self.ButtonGroup.buttonClicked.connect(self.handleButtonClicked)
def handleButtonClicked(self):
for i in self.ButtonGroup.buttons(): #buttons():查看所有按钮组中的按钮
self.textEdit.appendPlainText(f"按钮组按键状态改变:{i.text()}")
7.3、获取勾选按钮ID
通过 checkedId() 方法即可获取选中按钮对象的ID
self.ButtonGroup.buttonClicked.connect(self.handleButtonClicked)
def handleButtonClicked(self):
self.textEdit.appendPlainText(f"按钮组按键状态改变:ID:{self.ButtonGroup.checkedId()}")
7.4、按钮组设置多选时获取所有按钮的勾选状态
对所有该组中的按钮调用 isChecked() 方法 ,来判断。
self.ButtonGroup.buttonClicked.connect(self.handleButtonClicked)
def handleButtonClicked(self):
for i in self.ButtonGroup.buttons(): #buttons():查看所有按钮组中的按钮
self.textEdit.appendPlainText(f"{i.text()}的状态为:{i.isChecked()}")