最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

QCheckBox類中常用方法如表

方法 描述
setChecked() 設(shè)置復(fù)選框的狀態(tài),設(shè)置為True表示選中,F(xiàn)alse表示取消選中的復(fù)選框
setText() 設(shè)置復(fù)選框的顯示文本
text() 返回復(fù)選框的顯示文本
isChecked() 檢查復(fù)選框是否被選中
setTriState() 設(shè)置復(fù)選框為一個三態(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按鈕的使用實例

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)建復(fù)選框1,并默認(rèn)選中,當(dāng)狀態(tài)改變時信號觸發(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)改變時信號觸發(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)改變時信號觸發(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")

  #輸出三個復(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_())

效果圖如下

QCheckBox代碼分析:

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

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

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

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

實例化一個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ì)使用方法與實例,更多關(guān)于PyQt5控件知識請查看下面的相關(guān)鏈接

您可能感興趣的文章:

相關(guān)文章

最新評論

庆城县| 拉孜县| 平和县| 板桥市| 九江县| 乌兰浩特市| 托克逊县| 抚远县| 天水市| 保定市| 滁州市| 肥东县| 华容县| 聂拉木县| 菏泽市| 巫山县| 来凤县| 通榆县| 南召县| 安宁市| 伊宁市| 吴堡县| 南溪县| 滨州市| 仪陇县| 云安县| 拜泉县| 子长县| 峨边| 桂东县| 上思县| 保亭| 资兴市| 镇康县| 四平市| 大邑县| 伊川县| 乌什县| 罗甸县| 乌苏市| 化德县|