亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

QCheckBox類中常用方法如表

方法 描述
setChecked() 設置復選框的狀態(tài),設置為True表示選中,F(xiàn)alse表示取消選中的復選框
setText() 設置復選框的顯示文本
text() 返回復選框的顯示文本
isChecked() 檢查復選框是否被選中
setTriState() 設置復選框為一個三態(tài)復選框
setCheckState() 三態(tài)復選框的狀態(tài)設置,具體設置可以見下表

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

名稱 含義
Qt.Checked 2 組件沒有被選中(默認)
Qt.PartiallyChecked 1 組件被半選中
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)

    #創(chuàng)建一個GroupBox組
    groupBox = QGroupBox("Checkboxes")
    groupBox.setFlat(False)

    #創(chuàng)建復選框1,并默認選中,當狀態(tài)改變時信號觸發(fā)事件
    self.checkBox1 = QCheckBox("&Checkbox1")
    self.checkBox1.setChecked(True)
    self.checkBox1.stateChanged.connect(lambda: self.btnstate(self.checkBox1))

    #創(chuàng)建復選框,標記狀態(tài)改變時信號觸發(fā)事件
    self.checkBox2 = QCheckBox("Checkbox2")
    self.checkBox2.toggled.connect(lambda: self.btnstate(self.checkBox2))

    #創(chuàng)建復選框3,設置為3狀態(tài),設置默認選中狀態(tài)為半選狀態(tài),當狀態(tài)改變時信號觸發(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)

    #設置QGroupBox組的布局方式
    groupBox.setLayout(layout)

    #設置主界面布局垂直布局
    mainLayout = QVBoxLayout()
    #QgroupBox的控件添加到主界面布局中
    mainLayout.addWidget(groupBox)

    #設置主界面布局
    self.setLayout(mainLayout)
    #設置主界面標題
    self.setWindowTitle("checkbox demo")

  #輸出三個復選框當前的狀態(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_())

效果圖如下

QCheckBox代碼分析:

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

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

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

當QCheckBox狀態(tài)改變時發(fā)射stateChanged信號,當信號發(fā)生改變時觸發(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))

實例化對象CheckBox1和CheckBox2兩個對象,將CheckBox1的狀態(tài)設置為選中,為CheckBox1設置為快捷鍵,使用‘&'符號,則可以通過快捷鍵Alt+C選中checkbox1復選框

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

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

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

實例化一個QCheckBox類的對象checkBox3,然后使用setTristate()開啟三態(tài)模式,然后設置為半選狀態(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))

本文詳細講解了PyQt5復選框控件QCheckBox詳細使用方法與實例,更多關于PyQt5控件知識請查看下面的相關鏈接

相關文章

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

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

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

    使用python檢測主機存活端口及檢查存活主機

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

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

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

    python中類的屬性和方法介紹

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

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

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

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

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

    Python 強大的信號庫 blinker 入門詳細教程

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

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

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

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

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

    Python?包管理器pip入門教程

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

最新評論