一.描述

a.QCheckBox一般用于给用户提供若干选项中多个选择时的使用

b.控件左侧有一个方框来显示控件被选中。

c.复选框是有三种状态的

二.使用

1.创建

复选框的创建和常规的按钮创建方式是一样的,直接创建就可以了

import sys
from PyQt5.Qt import *
app = QApplication(sys.argv)
window = QWidget()
window.resize(800,600)
btn_1 = QCheckBox('Python',window)
btn_2 = QCheckBox('C++',window)
btn_3 = QCheckBox('Java',window)
btn_1.move(100,200)
btn_2.move(100,250)
btn_3.move(100,300)
btn_3.setTristate(True)
window.show()
sys.exit(app.exec_())

复选框创建

2.三态

复选框有三种状态,(第三种状态的启用是要设定的)第三种状态的效果是这样的

要想启用第三种状态,代码是这样的

btn.setTristate(True)    #设置启用三态
btn.isTristate() #获取是否启用三态

3.状态设置

复选框是有setChecked()这个功能的,但是由于它存在第三种状态,真对存在第三种状态的按钮,可以设置其状态

btn.setCheckState(Qt.PartiallyChecked)  #设置按钮状态
Qt.Unchecked #未选中
Qt.Checked #选中
Qt.PartiallyChecked #三态选中状态
btn.checkState() #获取状态——0,未选中;1-三态选中;2-选中

用直接设置的方法也是可以的

btn.setChecked(True)  #设置按钮被选中
btn.isChecked() #获取按钮是否被选中

4.信号

复选框除了继承的信号为,还有一个常用的信号——状态切换

btn.stateChanged.connect(lambda state:print(state))

状态发生改变的时候会发送信号,信号带有int类的参数,描述的是按钮的状态:0——为选中;1——三态的选中;2——正常选中。

GUI学习之八——复选框QCheckBox的学习总结的更多相关文章

  1. 复选框QCheckBox

    复选框一共有三种状态:全选中.半选中和无选中.若一个父选项的子选项全部为选中状态,则该父选项为全选中:若子选项全部为无选中状态,则该父选项为无选中状态:若子选项既有全选中和无选中状态,则该父选项为半选 ...

  2. 自定义实现 PyQt5 下拉复选框 ComboCheckBox

    一.前言 由于最近的项目需要具有复选功能,但过多的复选框会影响界面布局和美观,因而想到把 PyQt5 的下拉列表和复选框结合起来,但在 PyQt5 中并没有这样的组件供我们使用,所以想要自己实现一个下 ...

  3. CSS学习笔记三:自定义单选框,复选框,开关

    一点一点学习CCS,这次学习了如何自定义单选框,复选框以及开关. 一.单选框 1.先写好body里面的样式,先写几个框 <body> <div class="radio-1 ...

  4. Python3+Selenium3+webdriver学习笔记8(单选、复选框、弹窗处理)

    #!/usr/bin/env python# -*- coding:utf-8 -*-'''Selenium3+webdriver学习笔记8(单选.复选框.弹窗处理)''' from selenium ...

  5. 通过编写串口助手工具学习MFC过程——(五)添加CheckBox复选框

    通过编写串口助手工具学习MFC过程 因为以前也做过几次MFC的编程,每次都是项目完成时,MFC基本操作清楚了,但是过好长时间不再接触MFC的项目,再次做MFC的项目时,又要从头开始熟悉.这次通过做一个 ...

  6. 3.Android之单选按钮RadioGroup和复选框Checkbox学习

    单选按钮和复选框在实际中经常看到,今天就简单梳理下. 首先,我们在工具中拖进单选按钮RadioGroup和复选框Checkbox,如图: xml对应的源码: <?xml version=&quo ...

  7. BootStrap2学习日记10---单选框和复选框

    <label>选择你的性别</label> <label class="radio"> <input type="radio&q ...

  8. ExtJS4.2学习(五)表格渲染与复选框

    鸣谢:http://www.shuyangyang.com.cn/jishuliangongfang/qianduanjishu/2013-11-10/174.html --------------- ...

  9. 【MFC学习笔记-作业5-小数据库】【单选框,复选框,滚动条,列表框】

    界面已经实现完毕. 要完成的操作就是1.性别分组(2选1) 2.属性勾选 3.年龄通过滚动条调整 4.职称通过下方的列表框选择 5.输入姓名 6.存入左方的列表框 7.当选择左方列表框的人时,可以显示 ...

随机推荐

  1. 关于XML的小思考

    最近一段时间又接触了XML语言,现在看来它是一种可扩展标记语言,它的格式是标签语言,例如<>****<>此类,它在动态编译中有重要的作用,举个例子,一个班级里有37个人,到学期 ...

  2. Unable to docker login through CLI - unauthorized: incorrect username or password

    Unable to docker login through CLI - unauthorized: incorrect username or password To solve it proper ...

  3. Maven项目强制更新,解决Failed to read artifact descriptor for xxx.jar问题

    导入的maven项目pom.xml现红叉 分析原因:在maven本地仓库中找不到相应的jar包. 解决方案:让maven强制更新依赖. 项目右击菜单,Maven -> Update Projec ...

  4. if __name__ == '__main__':用法

    这个博主写的很好,已经验证过了.https://blog.csdn.net/yjk13703623757/article/details/77918633

  5. webapi+ajax跨域问题及cookie设置

    最近小玩了点东西,发现简单的东西总能遇到点问题 1.webapi跨域设置 [EnableCors(origins: "*", headers: "*", met ...

  6. github 绑定域名

    github的域名其实就两种,一种是个人主页,即所谓的每个账号只有一个的个人主页,XXXX.github.io,分支是master: 另一种是项目主页,可以有无数个,网上说分支应该是gh-pages, ...

  7. Linq指令执行分析

    Linq指令执行分析 一.Linq中IEnumerable的结构 Linq在执行聚合操作和ToXxx系统方法之前,一直都是一个数据源和一串指令(下面的讨论都是基于未执行聚合操作和ToXxx系统方法之前 ...

  8. 异步、非阻塞和IO多路复用总结

    Nginx是并发处理框架的代表者,很多后台业务都会放在Nginx容器中运行,以实现高吞吐,而Nginx能够支持高并发也是由于使用了异步非阻塞处理模型,本文将用通俗的话讲解异步.同步.阻塞.非阻塞的区别 ...

  9. Ubuntu 批量添加用户

    #!/bin/bash cat user.txt | while read linedo    user=$(echo $line | cut -d ' ' -f1)    passwd=$(echo ...

  10. Babel 配置选项

    comments 是否去掉注释,true(默认)/false.