您好,欢迎来到好走旅游网。
搜索
您的当前位置:首页pythonGUI库图形界面开发之PyQt5复选框控件QCheckBox详细使用方法与实例

pythonGUI库图形界面开发之PyQt5复选框控件QCheckBox详细使用方法与实例

来源:好走旅游网
pythonGUI库图形界⾯开发之PyQt5复选框控件

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

本站由北京市万商天勤律师事务所王兴未律师提供法律服务