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

news2024/12/24 21:05:07

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

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

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

    在这里插入图片描述

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

    在这里插入图片描述

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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1068767.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

超越bash:让你的命令行更聪明

本周岛主给大家带来一款能够提高工作效率的神器——zsh 在今天的计算机领域,命令行终端是一个不可或缺的工具。尽管现代计算机的用户界面变得越来越友好,但对于高级用户来说,命令行终端仍然是一种更加高效、灵活的工作方式。在命令行终端中&…

进阶指针(五)—— 指针笔试题

✨博客主页:小钱编程成长记 🎈博客专栏:进阶C语言 🎈相关博文:进阶C语言(一)、进阶C语言(二)、进阶C语言(三)、进阶指针(四&#xff0…

问题即机会,中国充电服务商加速向上

10月4日,能链智电与香港特别行政区引进重点企业办公室(简称:“引进办”)达成合作,成为首批重点引进企业。 引进办是香港特区政府引进世界各地高潜力重点企业来港的窗口,从这则消息可以看出,新能…

OpenCV 13(模版匹配和霍夫变换)

一、模版匹配 所谓的模板匹配,就是在给定的图片中查找和模板最相似的区域,该算法的输入包括模板和图片,整个任务的思路就是按照滑窗的思路不断的移动模板图片,计算其与图像中对应区域的匹配度,最终将匹配度最高的区域…

三相PWM整流器有限集模型预测电流控制Simulink仿真模型

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

正点原子嵌入式linux驱动开发——U-boot移植

uboot的移植并不是说从零开始将uboot移植到所使用的开发板或者开发平台上。这个对于我们开发者来说基本是不可能的,这个工作一般是半导体厂商做的,半导体厂商负责将uboot移植到他们的芯片上,因此半导体厂商都会自己做一个开发板,这…

平台项目首页——左侧菜单栏实现(三)

这里写目录标题 一、页面布局设计二、左侧菜单栏设计1、注意2、使用组件1、导入组件2、注册组件3、使用组件 3、用户信息代码设计4、左侧菜单代码设计5、用户信息——注销登录和切换项目功能实现 三、嵌套路由实现1、配置home的嵌套路由(子路由)2、home中…

Python-将常用库写入到一个Python程序里面,后续使用直接导入这个文件即可,就相当于导入了所有的库,就不用每次都写一堆的import了

sys.path.append(rD:\Backup\Documents) # 上方代码中的这一句 是我的常用库 所在的文件路径 当然,文件名建议写英文(比如:Common_use_lib.py), 不要写:常用库... 我这里只是演示使用,方便理…

机器学习笔记 - 基于pytorch、grad-cam的计算机视觉的高级可解释人工智能

一、pytorch-gradcam简介 ​Grad-CAM是常见的神经网络可视化的工具,用于探索模型的可解释性,广泛出现在各大顶会论文中,以详细具体地描述模型的效果。Grad-CAM的好处是,可以在不额外训练的情况下,只使用训练好的权重即可获得热力图。 1、CAM是什么? CAM全称Class Activa…

GitHub工具之云资产管理

文章目录 0x01 介绍0x02 软件架构0x03 下载地址0x04 更新记录0x05 实现功能0x06 使用截图1、云存储工具-资产列表2、云存储工具-阿里云3、云存储工具-七牛云4、云存储工具-腾讯云5、云存储工具-亚马逊6、云存储工具-京东云7、云存储工具-金山云8、云存储工具-其他9、云存储工具…

java项目中git的.ignore文件设置

在Git中,ignore是用来指定Git应该忽略的故意不被追踪的文件。它并不影响已经被Git追踪的文件。我们可以通过.ignore文件在Git中指定要忽略的文件。 当我们执行git add命令时,Git会检查.gitignore文件,并自动忽略这些文件和目录。这样可以避免…

AT9110H-单通道低压 H桥电机驱动芯片

AT9110H能够驱动一个直流有刷电机或其它诸如螺线管的器件。输出驱动模块由PMOSNMOS功率管构成的H桥组成,以驱动电机绕组。AT9110H能够提供高达12V1A的驱动输出。 AT9110H是SOP8封装,且是无铅产品,符合环保标准。 AT9110H具有一个PWM (IN1/IN2…

【SWAT水文模型】SWAT水文模型建立及应用第七期:SWAT模型检验

SWAT水文模型检验 方式1:参数带回至ArcSWAT方式1.1:文件替换方式1.2:手动修改方式1.3: 方式2:于SWAT CUP中确定检验期结果方式2.1:率定期径流数据验证方式2.2:率定期检验期径流数据验证 总结参考…

九章云极DataCanvas公司完成D1轮融资

近日,九章云极DataCanvas公司完成总融资额3亿元D1轮融资。中国电子集团旗下中电智慧基金、华民投、中国太平旗下太平创新、浙江东方旗下东方嘉富等央国企旗下投资机构,以及卓源资本等专注人工智能赛道的知名财务投资机构参与本轮融资。 九章云极DataCan…

智慧驿站:为城市带来全新智慧公厕未来形态

随着城市发展和科技进步的不断推进,智慧公厕逐渐成为城市规划和公共设施建设的重要组成部分。而集合了创意的外观设计、全金属结构工艺、智慧公厕、自动售货、共享设备、广告大屏、小型消防站、小型医疗站,并能根据需要而灵活组合的智慧驿站成为其中重要…

Spring AOP 中被代理的对象一定是单例吗?

今天我们来思考这样一个问题:在 Spring AOP 中,被代理的对象是单例的吗?当我们每次获取到代理对象的时候,都会重新获取一个新的被代理对象吗?还是被代理的对象始终是同一个? 为什么要思考这个问题&#xf…

2023,社交进入大变革时代

社交赛道的发展似乎没有终局,尤其AIGC这一概念出现之后,社交有可能将迎来全新场景。那么在技术的助推下,社交赛道是否有可能跑出下一个超级APP?如何看待2023年的社交赛道变革?不妨来看看本文的解读。 2023社交还有新故…

springboot-admin整合及使用

0. 官方文档及示例 官方文档 示例代码:Spring-Boot-Admin-Demo 1. 概述 Spring Boot Admin(SBA)是一个开源的社区项目,用于管理和监控 Spring Boot 应用程序。应用程序可以通过 http 的方式,或 Spring Cloud 服务发现机制注册到 SBA 中,然…

读书笔记——C++高性能编程(一至三)

《C高性能编程》作者:费多尔.G.皮克斯 版本:2022年11月第1版 第一章.性能基础 描述了吞吐量,功耗,实时应用性能的含义。 阐述了“虽然几乎不可能提前预测最佳优化,但是可以确定某些设计决策将使后续优化变得非常困难…

SSCI及SCI撰写|立足于审稿进行论文修改

一、回复审稿意见视角下的论文改进 (一)常见审稿意见分类(改进向) 意见分类研究主题方面真实案例研究主题研完没有提供新的信息This is clearly a students paper Although it is adequately written it offers no new informat…