电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

python GUI庫圖形界面開發(fā)之PyQt5復(fù)選框控件QCheckBox詳細(xì)使用方法與實(shí)例

瀏覽:63日期:2022-08-05 10:59:14
QCheckBox類中常用方法如表 方法 描述 setChecked() 設(shè)置復(fù)選框的狀態(tài),設(shè)置為True表示選中,F(xiàn)alse表示取消選中的復(fù)選框 setText() 設(shè)置復(fù)選框的顯示文本 text() 返回復(fù)選框的顯示文本 isChecked() 檢查復(fù)選框是否被選中 setTriState() 設(shè)置復(fù)選框?yàn)橐粋€(gè)三態(tài)復(fù)選框 setCheckState() 三態(tài)復(fù)選框的狀態(tài)設(shè)置,具體設(shè)置可以見下表 三態(tài)復(fù)選框的三種狀態(tài) 名稱 值 含義 Qt.Checked 2 組件沒有被選中(默認(rèn)) Qt.PartiallyChecked 1 組件被半選中 Qt.Unchecked 0 組件被選中 QCheckBox按鈕的使用實(shí)例

import sysfrom PyQt5.QtCore import *from PyQt5.QtGui import *from PyQt5.QtWidgets import *from PyQt5.QtCore import Qtclass CheckBoxDemo(QWidget): def __init__(self, parent=None): super(CheckBoxDemo, self).__init__(parent) #創(chuàng)建一個(gè)GroupBox組 groupBox = QGroupBox('Checkboxes') groupBox.setFlat(False) #創(chuàng)建復(fù)選框1,并默認(rèn)選中,當(dāng)狀態(tài)改變時(shí)信號(hào)觸發(fā)事件 self.checkBox1 = QCheckBox('&Checkbox1') self.checkBox1.setChecked(True) self.checkBox1.stateChanged.connect(lambda: self.btnstate(self.checkBox1)) #創(chuàng)建復(fù)選框,標(biāo)記狀態(tài)改變時(shí)信號(hào)觸發(fā)事件 self.checkBox2 = QCheckBox('Checkbox2') self.checkBox2.toggled.connect(lambda: self.btnstate(self.checkBox2)) #創(chuàng)建復(fù)選框3,設(shè)置為3狀態(tài),設(shè)置默認(rèn)選中狀態(tài)為半選狀態(tài),當(dāng)狀態(tài)改變時(shí)信號(hào)觸發(fā)事件 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) #設(shè)置QGroupBox組的布局方式 groupBox.setLayout(layout) #設(shè)置主界面布局垂直布局 mainLayout = QVBoxLayout() #QgroupBox的控件添加到主界面布局中 mainLayout.addWidget(groupBox) #設(shè)置主界面布局 self.setLayout(mainLayout) #設(shè)置主界面標(biāo)題 self.setWindowTitle('checkbox demo') #輸出三個(gè)復(fù)選框當(dāng)前的狀態(tài),0選中,1半選,2沒選中 def btnstate(self, btn): chk1Status = self.checkBox1.text() + ', isChecked=' + str(self.checkBox1.isChecked()) + ’, chekState=’ + str( self.checkBox1.checkState()) + 'n' chk2Status = self.checkBox2.text() + ', isChecked=' + str(self.checkBox2.isChecked()) + ’, checkState=’ + str( self.checkBox2.checkState()) + 'n' chk3Status = self.checkBox3.text() + ', isChecked=' + str(self.checkBox3.isChecked()) + ’, checkState=’ + str( self.checkBox3.checkState()) + 'n' print(chk1Status + chk2Status + chk3Status)if __name__ == ’__main__’: app = QApplication(sys.argv) checkboxDemo = CheckBoxDemo() checkboxDemo.show() sys.exit(app.exec_())

效果圖如下

python GUI庫圖形界面開發(fā)之PyQt5復(fù)選框控件QCheckBox詳細(xì)使用方法與實(shí)例

QCheckBox代碼分析:

在這個(gè)例子中,將三個(gè)復(fù)選框添加到一個(gè)水平布局管理器中,并添加到一個(gè)QGroupBox組中

groupBox = QGroupBox('Checkboxes') groupBox.setFlat(False)

將三個(gè)復(fù)選框的stateChanged信號(hào)都連接到槽函數(shù)stateChanged(),使用landba的方式傳遞對(duì)象給槽函數(shù)

當(dāng)QCheckBox狀態(tài)改變時(shí)發(fā)射stateChanged信號(hào),當(dāng)信號(hào)發(fā)生改變時(shí)觸發(fā)自定義的槽函數(shù)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))

實(shí)例化對(duì)象CheckBox1和CheckBox2兩個(gè)對(duì)象,將CheckBox1的狀態(tài)設(shè)置為選中,為CheckBox1設(shè)置為快捷鍵,使用‘&’符號(hào),則可以通過快捷鍵Alt+C選中checkbox1復(fù)選框

self.checkBox1 = QCheckBox('&Checkbox1')self.checkBox1.setChecked(True)

使用按鈕的isChecked()方法,判斷復(fù)選框是否被選中,其核心代碼是:

chk1Status = self.checkBox1.text() + ', isChecked=' + str(self.checkBox1.isChecked()) + ’, chekState=’ + str( self.checkBox1.checkState()) + 'n'

實(shí)例化一個(gè)QCheckBox類的對(duì)象checkBox3,然后使用setTristate()開啟三態(tài)模式,然后設(shè)置為半選狀態(tài)并連接槽函數(shù)

self.checkBox3 = QCheckBox('tristateBox')self.checkBox3.setTristate(True)self.checkBox3.setCheckState(Qt.PartiallyChecked)self.checkBox3.stateChanged.connect(lambda: self.btnstate(self.checkBox3))

本文詳細(xì)講解了PyQt5復(fù)選框控件QCheckBox詳細(xì)使用方法與實(shí)例,更多關(guān)于PyQt5控件知識(shí)請(qǐng)查看下面的相關(guān)鏈接

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 工业雾炮机_超细雾炮_远程抑尘射雾器-世纪润德环保设备 | 亮化工程,亮化设计,城市亮化工程,亮化资质合作,长沙亮化照明,杰奥思【官网】 | CCC验厂-家用电器|服务器CCC认证咨询-奥测世纪 | 不锈钢闸阀_球阀_蝶阀_止回阀_调节阀_截止阀-可拉伐阀门(上海)有限公司 | 西安耀程造价培训机构_工程预算实训_广联达实作实操培训 | 交通气象站_能见度检测仪_路面状况监测站- 天合环境科技 | 加热制冷恒温循环器-加热制冷循环油浴-杭州庚雨仪器有限公司 | 斗式提升机,斗式提升机厂家-淄博宏建机械有限公司 | 气力输送设备_料封泵_仓泵_散装机_气化板_压力释放阀-河南锐驰机械设备有限公司 | 房在线-免费房产管理系统软件-二手房中介房屋房源管理系统软件 | 游动电流仪-流通式浊度分析仪-杰普仪器(上海)有限公司 | 东莞ERP软件_广州云ERP_中山ERP_台湾工厂erp系统-广东顺景软件科技有限公司 | 继电器模组-IO端子台-plc连接线-省配线模组厂家-世麦德 | 时代北利离心机,实验室离心机,医用离心机,低速离心机DT5-2,美国SKC采样泵-上海京工实业有限公司 工业电炉,台车式电炉_厂家-淄博申华工业电炉有限公司 | 天津仓库出租网-天津电商仓库-天津云仓一件代发-【博程云仓】 | 400电话_400电话申请_866元/年_【400电话官方业务办理】-俏号网 3dmax渲染-效果图渲染-影视动画渲染-北京快渲科技有限公司 | 制丸机,小型中药制丸机,全自动制丸机价格-甘肃恒跃制药设备有限公司 | 黑龙江「京科脑康」医院-哈尔滨失眠医院_哈尔滨治疗抑郁症医院_哈尔滨精神心理医院 | 干粉砂浆设备_干混砂浆生产线_腻子粉加工设备_石膏抹灰砂浆生产成套设备厂家_干粉混合设备_砂子烘干机--郑州铭将机械设备有限公司 | 爱佩恒温恒湿测试箱|高低温实验箱|高低温冲击试验箱|冷热冲击试验箱-您身边的模拟环境试验设备技术专家-合作热线:400-6727-800-广东爱佩试验设备有限公司 | 二手色谱仪器,十万分之一分析天平,蒸发光检测器,电位滴定仪-湖北捷岛科学仪器有限公司 | 达利园物流科技集团- | 明渠式紫外线杀菌器-紫外线消毒器厂家-定州市优威环保 | 吊篮式|移动式冷热冲击试验箱-二槽冷热冲击试验箱-广东科宝 | 量子管通环-自清洗过滤器-全自动反冲洗过滤器-沼河浸过滤器 | PE拉伸缠绕膜,拉伸缠绕膜厂家,纳米缠绕膜-山东凯祥包装 | 大功率金属激光焊接机价格_不锈钢汽车配件|光纤自动激光焊接机设备-东莞市正信激光科技有限公司 定制奶茶纸杯_定制豆浆杯_广东纸杯厂_[绿保佳]一家专业生产纸杯碗的厂家 | 三氯异氰尿酸-二氯-三氯-二氯异氰尿酸钠-优氯净-强氯精-消毒片-济南中北_优氯净厂家 | 高效复合碳源-多核碳源生产厂家-污水处理反硝化菌种一长隆科技库巴鲁 | 电动不锈钢套筒阀-球面偏置气动钟阀-三通换向阀止回阀-永嘉鸿宇阀门有限公司 | 安徽千住锡膏_安徽阿尔法锡膏锡条_安徽唯特偶锡膏_卡夫特胶水-芜湖荣亮电子科技有限公司 | 电竞学校_电子竞技培训学校学院-梦竞未来电竞学校官网 | 精密冲床,高速冲床等冲压设备生产商-常州晋志德压力机厂 | 恒温水槽与水浴锅-上海熙浩实业有限公司 | 智能化的检漏仪_气密性测试仪_流量测试仪_流阻阻力测试仪_呼吸管快速检漏仪_连接器防水测试仪_车载镜头测试仪_奥图自动化科技 | 管家婆-管家婆软件-管家婆辉煌-管家婆进销存-管家婆工贸ERP | 3d打印服务,3d打印汽车,三维扫描,硅胶复模,手板,快速模具,深圳市精速三维打印科技有限公司 | 食品质构分析仪-氧化诱导分析仪-瞬态法导热系数仪|热冰百科 | 整车VOC采样环境舱-甲醛VOC预处理舱-多舱法VOC检测环境仓-上海科绿特科技仪器有限公司 | 天津试验仪器-电液伺服万能材料试验机,恒温恒湿标准养护箱,水泥恒应力压力试验机-天津鑫高伟业科技有限公司 | 真空泵维修保养,普发,阿尔卡特,荏原,卡西亚玛,莱宝,爱德华干式螺杆真空泵维修-东莞比其尔真空机电设备有限公司 |