一.描述
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——正常选中。