QCheckBox详细使⽤⽅法与实例
QCheckBox类中常⽤⽅法如表
⽅法
setChecked()描述
设置复选框的状态,设置为True表⽰选中,False表⽰取消选中的复选框
setText()设置复选框的显⽰⽂本text()返回复选框的显⽰⽂本isChecked()检查复选框是否被选中setTriState()设置复选框为⼀个三态复选框
setCheckState()
三态复选框的状态设置,具体设置可以见下表
三态复选框的三种状态
名称
值
Qt.Checked2组件没有被选中(默认)Qt.PartiallyChecked1组件被半选中Qt.Unchecked
0组件被选中
QCheckBox按钮的使⽤实例
import sys
from PyQt5.QtCore import *from PyQt5.QtGui import *
from PyQt5.QtWidgets import *from PyQt5.QtCore import Qt
class CheckBoxDemo(QWidget):
def __init__(self, parent=None):
super(CheckBoxDemo, self).__init__(parent) #创建⼀个GroupBox组
groupBox = QGroupBox(\"Checkboxes\") groupBox.setFlat(False)
#创建复选框1,并默认选中,当状态改变时信号触发事件 self.checkBox1 = QCheckBox(\"&Checkbox1\") self.checkBox1.setChecked(True)
self.checkBox1.stateChanged.connect(lambda: self.btnstate(self.checkBox1)) #创建复选框,标记状态改变时信号触发事件 self.checkBox2 = QCheckBox(\"Checkbox2\")
self.checkBox2.toggled.connect(lambda: self.btnstate(self.checkBox2))
#创建复选框3,设置为3状态,设置默认选中状态为半选状态,当状态改变时信号触发事件 self.checkBox3 = QCheckBox(\"tristateBox\") self.checkBox3.setTristate(True)
self.checkBox3.setCheckState(Qt.PartiallyChecked)
self.checkBox3.stateChanged.connect(lambda: self.btnstate(self.checkBox3)) #⽔平布局
layout = QHBoxLayout() #控件添加到⽔平布局中
layout.addWidget(self.checkBox1) layout.addWidget(self.checkBox2) layout.addWidget(self.checkBox3) #设置QGroupBox组的布局⽅式 groupBox.setLayout(layout) #设置主界⾯布局垂直布局
含义
mainLayout = QVBoxLayout()
#QgroupBox的控件添加到主界⾯布局中 mainLayout.addWidget(groupBox) #设置主界⾯布局
self.setLayout(mainLayout) #设置主界⾯标题
self.setWindowTitle(\"checkbox demo\")
#输出三个复选框当前的状态,0选中,1半选,2没选中 def btnstate(self, btn):
chk1Status = self.checkBox1.text() + \ self.checkBox1.checkState()) + \"\\n\"
chk2Status = self.checkBox2.text() + \ self.checkBox2.checkState()) + \"\\n\"
chk3Status = self.checkBox3.text() + \ self.checkBox3.checkState()) + \"\\n\"
print(chk1Status + chk2Status + chk3Status)
if __name__ == '__main__': app = QApplication(sys.argv)
checkboxDemo = CheckBoxDemo() checkboxDemo.show() sys.exit(app.exec_())
效果图如下
QCheckBox代码分析:
在这个例⼦中,将三个复选框添加到⼀个⽔平布局管理器中,并添加到⼀个QGroupBox组中
groupBox = QGroupBox(\"Checkboxes\") groupBox.setFlat(False)
将三个复选框的stateChanged信号都连接到槽函数stateChanged(),使⽤landba的⽅式传递对象给槽函数当QCheckBox状态改变时发射stateChanged信号,当信号发⽣改变时触发⾃定义的槽函数btnstate()
self.checkBox1.stateChanged.connect(lambda: self.btnstate(self.checkBox1))self.checkBox2.toggled.connect(lambda: self.btnstate(self.checkBox2))
self.checkBox3.stateChanged.connect(lambda: self.btnstate(self.checkBox3))
实例化对象CheckBox1和CheckBox2两个对象,将CheckBox1的状态设置为选中,为CheckBox1设置为快捷键,使⽤‘&'符号,则可以通过快捷键Alt+C选中checkbox1复选框
self.checkBox1 = QCheckBox(\"&Checkbox1\")self.checkBox1.setChecked(True)
使⽤按钮的isChecked()⽅法,判断复选框是否被选中,其核⼼代码是:
chk1Status = self.checkBox1.text() + \ self.checkBox1.checkState()) + \"\\n\"
实例化⼀个QCheckBox类的对象checkBox3,然后使⽤setTristate()开启三态模式,然后设置为半选状态并连接槽函数
self.checkBox3 = QCheckBox(\"tristateBox\")self.checkBox3.setTristate(True)
self.checkBox3.setCheckState(Qt.PartiallyChecked)
self.checkBox3.stateChanged.connect(lambda: self.btnstate(self.checkBox3))
本⽂详细讲解了PyQt5复选框控件QCheckBox详细使⽤⽅法与实例,更多关于PyQt5控件知识请查看下⾯的相关链接
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- haog.cn 版权所有 赣ICP备2024042798号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务