GUI学习之八——复选框QCheckBox的学习总结
一.描述
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的学习总结的更多相关文章
- 复选框QCheckBox
复选框一共有三种状态:全选中.半选中和无选中.若一个父选项的子选项全部为选中状态,则该父选项为全选中:若子选项全部为无选中状态,则该父选项为无选中状态:若子选项既有全选中和无选中状态,则该父选项为半选 ...
- 自定义实现 PyQt5 下拉复选框 ComboCheckBox
一.前言 由于最近的项目需要具有复选功能,但过多的复选框会影响界面布局和美观,因而想到把 PyQt5 的下拉列表和复选框结合起来,但在 PyQt5 中并没有这样的组件供我们使用,所以想要自己实现一个下 ...
- CSS学习笔记三:自定义单选框,复选框,开关
一点一点学习CCS,这次学习了如何自定义单选框,复选框以及开关. 一.单选框 1.先写好body里面的样式,先写几个框 <body> <div class="radio-1 ...
- Python3+Selenium3+webdriver学习笔记8(单选、复选框、弹窗处理)
#!/usr/bin/env python# -*- coding:utf-8 -*-'''Selenium3+webdriver学习笔记8(单选.复选框.弹窗处理)''' from selenium ...
- 通过编写串口助手工具学习MFC过程——(五)添加CheckBox复选框
通过编写串口助手工具学习MFC过程 因为以前也做过几次MFC的编程,每次都是项目完成时,MFC基本操作清楚了,但是过好长时间不再接触MFC的项目,再次做MFC的项目时,又要从头开始熟悉.这次通过做一个 ...
- 3.Android之单选按钮RadioGroup和复选框Checkbox学习
单选按钮和复选框在实际中经常看到,今天就简单梳理下. 首先,我们在工具中拖进单选按钮RadioGroup和复选框Checkbox,如图: xml对应的源码: <?xml version=&quo ...
- BootStrap2学习日记10---单选框和复选框
<label>选择你的性别</label> <label class="radio"> <input type="radio&q ...
- ExtJS4.2学习(五)表格渲染与复选框
鸣谢:http://www.shuyangyang.com.cn/jishuliangongfang/qianduanjishu/2013-11-10/174.html --------------- ...
- 【MFC学习笔记-作业5-小数据库】【单选框,复选框,滚动条,列表框】
界面已经实现完毕. 要完成的操作就是1.性别分组(2选1) 2.属性勾选 3.年龄通过滚动条调整 4.职称通过下方的列表框选择 5.输入姓名 6.存入左方的列表框 7.当选择左方列表框的人时,可以显示 ...
随机推荐
- 关于XML的小思考
最近一段时间又接触了XML语言,现在看来它是一种可扩展标记语言,它的格式是标签语言,例如<>****<>此类,它在动态编译中有重要的作用,举个例子,一个班级里有37个人,到学期 ...
- 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 ...
- Maven项目强制更新,解决Failed to read artifact descriptor for xxx.jar问题
导入的maven项目pom.xml现红叉 分析原因:在maven本地仓库中找不到相应的jar包. 解决方案:让maven强制更新依赖. 项目右击菜单,Maven -> Update Projec ...
- if __name__ == '__main__':用法
这个博主写的很好,已经验证过了.https://blog.csdn.net/yjk13703623757/article/details/77918633
- webapi+ajax跨域问题及cookie设置
最近小玩了点东西,发现简单的东西总能遇到点问题 1.webapi跨域设置 [EnableCors(origins: "*", headers: "*", met ...
- github 绑定域名
github的域名其实就两种,一种是个人主页,即所谓的每个账号只有一个的个人主页,XXXX.github.io,分支是master: 另一种是项目主页,可以有无数个,网上说分支应该是gh-pages, ...
- Linq指令执行分析
Linq指令执行分析 一.Linq中IEnumerable的结构 Linq在执行聚合操作和ToXxx系统方法之前,一直都是一个数据源和一串指令(下面的讨论都是基于未执行聚合操作和ToXxx系统方法之前 ...
- 异步、非阻塞和IO多路复用总结
Nginx是并发处理框架的代表者,很多后台业务都会放在Nginx容器中运行,以实现高吞吐,而Nginx能够支持高并发也是由于使用了异步非阻塞处理模型,本文将用通俗的话讲解异步.同步.阻塞.非阻塞的区别 ...
- Ubuntu 批量添加用户
#!/bin/bash cat user.txt | while read linedo user=$(echo $line | cut -d ' ' -f1) passwd=$(echo ...
- Babel 配置选项
comments 是否去掉注释,true(默认)/false.