【Python_PySide2学习笔记(十八)】勾选按钮QCheckBox类的基本用法

勾选按钮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)

【Python_PySide2学习笔记(十八)】勾选按钮QCheckBox类的基本用法_第1张图片

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未勾选")

【Python_PySide2学习笔记(十八)】勾选按钮QCheckBox类的基本用法_第2张图片

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、获取勾选按钮对象

  1. 在QButtonGroup设置为单选情况下:通过 checkedButton() 方法即可获取选中的按钮对象

    		self.ButtonGroup.buttonClicked.connect(self.handleButtonClicked)
    	    def handleButtonClicked(self):
    	        self.textEdit.appendPlainText(f"按钮组按键状态改变:{self.ButtonGroup.checkedButton()}")
    

    【Python_PySide2学习笔记(十八)】勾选按钮QCheckBox类的基本用法_第3张图片

  2. 在QButtonGroup设置为多选情况下:通过 buttons() 方法 查看按钮组中的所有勾选按钮

    		self.ButtonGroup.buttonClicked.connect(self.handleButtonClicked)
    		def handleButtonClicked(self):
    		        for i in self.ButtonGroup.buttons(): #buttons():查看所有按钮组中的按钮
    	            self.textEdit.appendPlainText(f"按钮组按键状态改变:ID:{i}")
    

    【Python_PySide2学习笔记(十八)】勾选按钮QCheckBox类的基本用法_第4张图片

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()}")

【Python_PySide2学习笔记(十八)】勾选按钮QCheckBox类的基本用法_第5张图片

7.3、获取勾选按钮ID

通过 checkedId() 方法即可获取选中按钮对象的ID

		self.ButtonGroup.buttonClicked.connect(self.handleButtonClicked)
	    def handleButtonClicked(self):
	        self.textEdit.appendPlainText(f"按钮组按键状态改变:ID:{self.ButtonGroup.checkedId()}")

【Python_PySide2学习笔记(十八)】勾选按钮QCheckBox类的基本用法_第6张图片

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()}")

【Python_PySide2学习笔记(十八)】勾选按钮QCheckBox类的基本用法_第7张图片

你可能感兴趣的:(Python学习笔记,#,PySide2学习笔记,python,学习,笔记,QCheckBox,PySide2,QButtonGroup)