色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

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

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

瀏覽:59日期: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í)信號觸發(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í)信號觸發(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í)信號觸發(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信號都連接到槽函數(shù)stateChanged(),使用landba的方式傳遞對象給槽函數(shù)

當(dāng)QCheckBox狀態(tài)改變時(shí)發(fā)射stateChanged信號,當(dāng)信號發(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í)例化對象CheckBox1和CheckBox2兩個(gè)對象,將CheckBox1的狀態(tài)設(shè)置為選中,為CheckBox1設(shè)置為快捷鍵,使用‘&’符號,則可以通過快捷鍵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類的對象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控件知識請查看下面的相關(guān)鏈接

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 亚洲精品日韩在线一区 | 手机福利在线 | 国产成人精品久久一区二区三区 | 在线观看va| 亚洲欧美一区二区久久香蕉 | 一 级做人爱全视频在线看 一本不卡 | 久草福利社| 免费人成在线 | 亚洲欧美日韩国产综合 | 怡红院亚洲怡红院首页 | 久久91精品国产99久久yfo | 国产高清在线精品免费 | 精品视频一区二区三区 | 欧美成人免费tv在线播放 | 久草在线视频在线 | 香蕉自拍视频 | 日韩欧美中文字幕在线观看 | 欧美高清videossex19 | 日本大臿亚洲香蕉大片 | 在线免费观看欧美 | 国产三级黄色 | 综合久久久 | 真人一级毛片国产 | 日美三级 | 亚州三级 | 亚洲国产成a人v在线观看 | 亚洲精品aaa | 亚洲高清免费在线观看 | 久草视频官网 | 日韩在线一区二区 | 欧美区一区 | 亚洲国产成人精品激情 | 欧美在线视频二区 | 美女张开腿让人捅 | 在线免费观看一级毛片 | 美女视频黄免费 | 色综合亚洲七七久久桃花影院 | 国产高清自拍一区 | 国产精品99久久免费观看 | 天堂入口 | 特别福利视频在线观看 |