欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2020年02月28日 14:48:01   作者:jia666666  
這篇文章主要介紹了python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5復(fù)選框控件QCheckBox詳細(xì)使用方法與實(shí)例,需要的朋友可以參考下

QCheckBox類中常用方法如表

方法 描述
setChecked() 設(shè)置復(fù)選框的狀態(tài),設(shè)置為T(mén)rue表示選中,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è)置可以見(jiàn)下表

三態(tài)復(fù)選框的三種狀態(tài)

名稱 含義
Qt.Checked 2 組件沒(méi)有被選中(默認(rèn))
Qt.PartiallyChecked 1 組件被半選中
Qt.Unchecked 0 組件被選中

QCheckBox按鈕的使用實(shí)例

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)

    #創(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沒(méi)選中
  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_())

效果圖如下

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),則可以通過(guò)快捷鍵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()開(kāi)啟三態(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)鏈接

您可能感興趣的文章:

相關(guān)文章

  • Python?網(wǎng)易易盾滑塊驗(yàn)證功能的實(shí)現(xiàn)

    Python?網(wǎng)易易盾滑塊驗(yàn)證功能的實(shí)現(xiàn)

    這篇文章主要介紹了Python?網(wǎng)易易盾滑塊驗(yàn)證,主要是借助之前寫(xiě)阿里云盾滑塊和極驗(yàn)滑塊的經(jīng)驗(yàn)寫(xiě)的本文,通過(guò)使用selenium請(qǐng)求url,并觸發(fā)滑塊驗(yàn)證,需要的朋友可以參考下
    2022-05-05
  • 使用python檢測(cè)主機(jī)存活端口及檢查存活主機(jī)

    使用python檢測(cè)主機(jī)存活端口及檢查存活主機(jī)

    這篇文章主要介紹了使用python檢測(cè)主機(jī)存活端口及檢查存活主機(jī)的相關(guān)資料,需要的朋友可以參考下
    2015-10-10
  • python的jinja2模板深入淺出地解析

    python的jinja2模板深入淺出地解析

    Python模板,全稱為“Jinja2 Template”,是Python語(yǔ)言中的一種模板引擎。在web應(yīng)用中,模板一般用于生成頁(yè)面或其他輸出格式。Python的模板引擎為程序員提供了一種非常方便的方式來(lái)構(gòu)建動(dòng)態(tài)內(nèi)容,強(qiáng)制執(zhí)行代碼結(jié)構(gòu),并允許從數(shù)據(jù)中提取特定的信息。Jinja2在Python社區(qū)
    2023-06-06
  • python中類的屬性和方法介紹

    python中類的屬性和方法介紹

    在本篇內(nèi)容里小編給大家整理了關(guān)于python中類的屬性知識(shí)點(diǎn)以及使用方法介紹,需要的朋友們參考下。
    2018-11-11
  • Python獲取操作系統(tǒng)的三種方法

    Python獲取操作系統(tǒng)的三種方法

    在Python中,?如何獲取操作系統(tǒng)的類型、名稱、版本等信息,本文就來(lái)介紹三種獲取方法,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-01-01
  • windows環(huán)境下tensorflow安裝過(guò)程詳解

    windows環(huán)境下tensorflow安裝過(guò)程詳解

    這篇文章主要為大家詳細(xì)介紹了windows環(huán)境下tensorflow安裝過(guò)程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Python 強(qiáng)大的信號(hào)庫(kù) blinker 入門(mén)詳細(xì)教程

    Python 強(qiáng)大的信號(hào)庫(kù) blinker 入門(mén)詳細(xì)教程

    這篇文章主要介紹了Python 強(qiáng)大的信號(hào)庫(kù) blinker 入門(mén)教程,信號(hào)的特點(diǎn)就是發(fā)送端通知訂閱者發(fā)生了什么,使用信號(hào)分為 3 步:定義信號(hào),監(jiān)聽(tīng)信號(hào),發(fā)送信號(hào),需要的朋友可以參考下
    2022-02-02
  • django之使用celery-把耗時(shí)程序放到celery里面執(zhí)行的方法

    django之使用celery-把耗時(shí)程序放到celery里面執(zhí)行的方法

    今天小編就為大家分享一篇django之使用celery-把耗時(shí)程序放到celery里面執(zhí)行的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • Python實(shí)現(xiàn)Excel表格轉(zhuǎn)HTML

    Python實(shí)現(xiàn)Excel表格轉(zhuǎn)HTML

    Excel工作簿是常用的表格格式,廣泛用于組織、分析及展示數(shù)據(jù),這篇文章主要為大家詳細(xì)介紹了如何使用Python將Excel工作簿或工作表轉(zhuǎn)換為HTML文件,需要的可以參考下
    2024-03-03
  • Python?包管理器pip入門(mén)教程

    Python?包管理器pip入門(mén)教程

    這篇文章主要為大家介紹了Python?pip包管理器入門(mén)教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11

最新評(píng)論