pyqt5-QCheckBox控件使用介绍

news2024/12/23 8:49:04

一、简介

作用:用于给用户提供若干选项中的多选操作,比如:爱好可以有多个 等等。

继承自 QAbstractButton。

1、基础工程

from PyQt5.Qt import *
import sys


app = QApplication(sys.argv)

window = QWidget()

window.setWindowTitle("QCheckBox测试")
window.resize(400, 400)

#*******创建QCheckBox*******开始
cb = QCheckBox("test", window)


#*******创建QCheckBox*******结束

window.show()
sys.exit(app.exec_())

2、测试

在这里插入图片描述

可见上述代码实现了控件的创建。

二、功能介绍

1、常用继承父类操作

  1. api

    api功能
    setIcon(QIcon)设置图标
    setShortcut()设置快捷键

    此外,还可以通过在checkBox设置的文本前添加&符号设置快捷键。

  2. 修改代码

    from PyQt5.Qt import *
    import sys
    
    app = QApplication(sys.argv)
    
    window = QWidget()
    
    window.setWindowTitle("QCheckBox测试")
    window.resize(400, 400)
    
    # *******创建QCheckBox*******开始
    cb = QCheckBox("test", window)
    # cb = QCheckBox("&test", window) # 也可以在此添加&实现快捷操作,快捷操作为 Alt+T
    
    # *******创建QCheckBox*******结束
    
    # *******常用继承父类操作*******开始
    cb.setIcon(QIcon("test.png"))
    cb.setIconSize(QSize(50, 50))
    cb.setShortcut("Alt+T")
    
    # *******常用继承父类操作*******结束
    
    window.show()
    sys.exit(app.exec_())
    
    
  3. 测试结果

    在这里插入图片描述

2、设置是否三态

  1. api

    api功能
    setTristate(bool=True)设置三态(选中、部分选中、未选中)
    isTristate()返回是否支持三态
  2. 应用场景

    是否支持复选框展示三种状态

  3. 修改代码

    from PyQt5.Qt import *
    import sys
    
    app = QApplication(sys.argv)
    
    window = QWidget()
    
    window.setWindowTitle("QCheckBox测试")
    window.resize(400, 400)
    
    # *******创建QCheckBox*******开始
    cb = QCheckBox("test", window)
    # cb = QCheckBox("&test", window) # 也可以在此添加&实现快捷操作,快捷操作为 Alt+T
    
    # *******创建QCheckBox*******结束
    
    # *******常用继承父类操作*******开始
    # cb.setIcon(QIcon("test.png"))
    # cb.setIconSize(QSize(50, 50))
    # cb.setShortcut("Alt+T")
    
    # *******常用继承父类操作*******结束
    
    #*******设置是否三态*******开始
    cb.setTristate(True)    #支持三态
    print("是否支持三态:{}".format(cb.isTristate()))
    
    #*******设置是否三态*******结束
    
    window.show()
    sys.exit(app.exec_())
    
    
  4. 测试结果

    在这里插入图片描述

3、设置复选框状态

  1. api

    api功能
    setCheckState(Qt.CheckState)设置复选框状态
    checkState()返回复选框状态

    状态包含:

    状态意义
    Qt.Unchecked未选中
    Qt.PartiallyChecked部分选中
    Qt.Checked被选中
  2. 应用场景

    给用户多一种选择状态

  3. 修改代码

    from PyQt5.Qt import *
    import sys
    
    app = QApplication(sys.argv)
    
    window = QWidget()
    
    window.setWindowTitle("QCheckBox测试")
    window.resize(400, 400)
    
    # *******创建QCheckBox*******开始
    cb = QCheckBox("test", window)
    # cb = QCheckBox("&test", window) # 也可以在此添加&实现快捷操作,快捷操作为 Alt+T
    
    # *******创建QCheckBox*******结束
    
    # *******常用继承父类操作*******开始
    # cb.setIcon(QIcon("test.png"))
    # cb.setIconSize(QSize(50, 50))
    # cb.setShortcut("Alt+T")
    
    # *******常用继承父类操作*******结束
    
    #*******设置是否三态*******开始
    # cb.setTristate(True)    #支持三态
    # print("是否支持三态:{}".format(cb.isTristate()))
    
    #*******设置是否三态*******结束
    
    #*******设置复选框状态*******开始
    cb.setCheckState(Qt.PartiallyChecked)
    print("复选框状态:{}".format(cb.checkState()))
    #*******设置复选框状态*******结束
    
    window.show()
    sys.exit(app.exec_())
    
    
  4. 测试结果

    在这里插入图片描述


三、信号

  1. api
api功能
stateChanged(int state)选中或清除选中时, 发射此信号
  1. 修改代码

    from PyQt5.Qt import *
    import sys
    
    app = QApplication(sys.argv)
    
    window = QWidget()
    
    window.setWindowTitle("QCheckBox测试")
    window.resize(400, 400)
    
    # *******创建QCheckBox*******开始
    cb = QCheckBox("test", window)
    # cb = QCheckBox("&test", window) # 也可以在此添加&实现快捷操作,快捷操作为 Alt+T
    
    # *******创建QCheckBox*******结束
    
    # *******常用继承父类操作*******开始
    # cb.setIcon(QIcon("test.png"))
    # cb.setIconSize(QSize(50, 50))
    # cb.setShortcut("Alt+T")
    
    # *******常用继承父类操作*******结束
    
    #*******设置是否三态*******开始
    # cb.setTristate(True)    #支持三态
    # print("是否支持三态:{}".format(cb.isTristate()))
    
    #*******设置是否三态*******结束
    
    #*******设置复选框状态*******开始
    # cb.setCheckState(Qt.PartiallyChecked)
    # print("复选框状态:{}".format(cb.checkState()))
    #*******设置复选框状态*******结束
    
    #*******信号测试*******开始
    cb.setTristate(True)
    cb.stateChanged.connect(lambda isChecked:print("复选框状态:{}".format(isChecked)))
    #*******信号测试*******结束
    
    window.show()
    sys.exit(app.exec_())
    
    
  2. 测试结果

    在这里插入图片描述

点击就发射信号,可以看到三种状态:

  • 未选中:0
  • 部分选中:1
  • 选中:2

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

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

相关文章

一文掌握SpringBoot注解之@Configuration知识文集(3)

🏆作者简介,普修罗双战士,一直追求不断学习和成长,在技术的道路上持续探索和实践。 🏆多年互联网行业从业经验,历任核心研发工程师,项目技术负责人。 🎉欢迎 👍点赞✍评论…

【ADI 知识库】 AN-1354:集成式ZIF、RF至比特、LTE、广域接收机分析和测试结果

官方链接: https://www.analog.com/cn/resources/app-notes/an-1354.html 简介 本应用笔记参考了3GPP TS 36系列文件和ADI公司的多种数据手册、特性标定报告和实验室测试结果。本文重点关注基于集成式零中频(ZIF)、RF至比特、IC (AD9371)的多载波广域LTE接收机的性…

使用css绘制小三角形

要使用CSS绘制小三角形&#xff0c;您可以使用border属性来设置边框样式。下面是一种常见的绘制小三角形的方法&#xff1a; <style>.box {width: 0;height: 0;/* border-top: 10px solid red; */border-bottom: 10px solid blue;border-left: 10px solid transparent;b…

2024PMP考试新考纲-【业务环境领域】典型真题和很详细解析(3)

华研荟继续分享【业务环境Business Environment领域】在新考纲下的真题&#xff0c;帮助大家体会和理解新考纲下PMP的考试特点和如何应用所学的知识和常识&#xff08;经验&#xff09;来解题&#xff0c;并且举一反三&#xff0c;一次性3A通过2024年PMP考试。 2024年PMP考试新…

Interpolator:在Android中方便使用一些常见的CubicBezier贝塞尔曲线动画效果

说明 方便在Android中使用Interpolator一些常见的CubicBezier贝塞尔曲线动画效果。 示意图如下 import android.view.animation.Interpolator import androidx.core.view.animation.PathInterpolatorCompat/*** 参考* android https://yisibl.github.io/cubic-bezier* 实现常…

在flutter中集成Excel导入和导出

flutter中集成Excel导入和导出功能 1、需要的依赖 在pubspec.yaml #excel导出syncfusion_flutter_xlsio: ^24.1.45open_file: ^3.0.1#导入excelflutter_excel: ^1.0.1#选择文件的依赖file_picker: ^6.1.1&#xff08;1&#xff09;依赖说明 在测试时&#xff0c;我们在使用导…

MySQL学习记录——일 MySQL 安装、配置

文章目录 1、卸载内置环境2、安装MySQL3、启动4、登录5、配置my.cnf 当前环境是1核2G云服务器&#xff0c;CentOS7.6 1、卸载内置环境 云服务器中有可能会自带mysql还有mariadb这样的数据库服务&#xff0c;在安装我们mysql前&#xff0c;得先查找一下是否有。 ps ajx |grep m…

20240202在WIN10下使用whisper.cpp

20240202在WIN10下使用whisper.cpp 2024/2/2 14:15 【结论&#xff1a;在Windows10下&#xff0c;确认large模式识别7分钟中文视频&#xff0c;需要83.7284 seconds&#xff0c;需要大概1.5分钟&#xff01;效率太差&#xff01;】 83.7284/4200.1993533333333333333333333333…

Latex学习记录

目录 1.Latex各种箭头符号总结 2.[Latex]公式编辑&#xff0c;编号、对齐 3.Latex公式编号: 多行公式多编号&#xff0c;多行公式单编号 4.LaTex中输入空格以及换行 1.Latex各种箭头符号总结 箭头符号 - ➚ (piliapp.com)https://cn.piliapp.com/symbol/arrow/Latex各种箭头…

【algorithm】一个简单的PID工程 base 用于手生时候快速复习 用于设计模式 cpp语法八股 快速复习校验

写在前面 最近项目一直用matlab&#xff0c;防止手生整一个回忆工具使用的简单的pid demo&#xff0c;走一边流程&#xff0c;包括配工程debug看结果&#xff0c;复用之前记录的配置见我的bloghttps://blog.csdn.net/weixin_46479223/article/details/135082867?csdn_share_t…

Faster-Whisper 实时识别电脑语音转文本

Faster-Whisper 实时识别电脑语音转文本 前言项目搭建环境安装Faster-Whisper下载模型编写测试代码运行测试代码实时转写脚本 参考 前言 以前做的智能对话软件接的Baidu API&#xff0c;想换成本地的&#xff0c;就搭一套Faster-Whisper吧。 下面是B站视频实时转写的截图 项…

thinkphp项目之composer快速安装使用

引言 由于项目的需求&#xff0c;thinkphp项目使用到composer。网上搜索有一堆的教程使用&#xff0c;根据自己的需要摸索了下。 步骤 1. 安装phpstudy v8&#xff0c;这个经常用的运行环境&#xff0c;方便好多开发者。安装教程一步一步到最后就行。 2. 安装composer组件&a…

问题:媒体查询语法中, 可用设备名参数表示“文档打印或预览“的是 #媒体#媒体#其他

问题&#xff1a;媒体查询语法中, 可用设备名参数表示"文档打印或预览"的是 A、C.?screen B.?projection C、A.?print D.?speech 参考答案如图所示

【LeetCode: 462. 最小操作次数使数组元素相等 II + 贪心】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

java.lang.UnsatisfiedLinkError: no onnxruntime4j_jni in java.library.path

目录 1.问题现象: 2.问题定位 3.问题解决 4.很少遇到JDK小版本导致出问题 1.问题现象: 使用langchain <!-- langchain4j start--><dependency><groupId>dev.langchain4j</groupId><artifactId>langchain4j</artifactId><version&g…

AtCoder Beginner Contest 338F - Negative Traveling Salesman【floyd+状态压缩dp】

原题链接&#xff1a;https://atcoder.jp/contests/abc338/tasks/abc338_f Time Limit: 6 sec / Memory Limit: 1024 MB Score: 500 points、 问题陈述 有一个有N个顶点和M条边的加权简单有向图。顶点的编号为 1 到 N&#xff0c;i/th 边的权重为 Wi​&#xff0c;从顶点 U…

影院购票|电影院订票选座小程序|基于微信小程序的电影院购票系统设计与实现(源码+数据库+文档)

电影院订票选座小程序目录 目录 基于微信小程序的电影院购票系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、用户功能实现 2、管理员功能实现 &#xff08;1&#xff09;影院信息管理 &#xff08;2&#xff09;电影信息管理 &#xff08;3&#xff09;已…

Docker 容器卷

1、概念介绍 如果是CentOS7安全模块会比之前系统版本加强&#xff0c;不安全的会先禁止&#xff0c;所以目录挂载的情况被默认为不安全的行为&#xff0c;在SELinux里面挂载目录被禁止掉了&#xff0c;如果要开启&#xff0c;我们一般使用--privlegedtrue命令&#xff0c;扩大…

springwebflux高性能服务

场景&#xff1a; 分别使用springwebmvc 使用tomcat &#xff08;tomcat 9&#xff09;和springwebflux 做一个简单的接口 &#xff0c;该接口返回一个随机数 压测环境&#xff1a; 4C 8G ECS 使用tomcat 压测结果 Max 抖动的厉害 保持压测的参数不变 使用webflux 压测结果 …

七普详细数据——广东省七普分乡、镇、街道数据,shp格式,自取

基本信息. 数据名称: 广东省七普分乡、镇、街道数据 数据格式: Shp 数据几何类型: 面 数据坐标系: WGS84 数据时间&#xff1a;2020年 数据来源&#xff1a;网络公开数据 数据字段&#xff1a; 序号字段名称字段说明1zrks总人口数&#xff08;人&#xff09;2a0-140…