一.描述
a.QCheckBox一般用于给用户提供若干选项中多个选择时的使用
b.控件左侧有一个方框来显示控件被选中。
c.复选框是有三种状态的
二.使用
1.创建
复选框的创建和常规的按钮创建方式是一样的,直接创建就可以了
import sysfrom 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——正常选中。