GUI学习之八——复选框QCheckBox的学习总结

时间:2020-12-16 00:08:16

一.描述

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.三态

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

GUI学习之八——复选框QCheckBox的学习总结

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

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——正常选中。