91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 開發技術 > 
  • python GUI庫圖形界面開發之PyQt5復選框控件QCheckBox詳細使用方法與實例

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

發布時間:2020-10-14 15:04:44 來源:腳本之家 閱讀:157 作者:jia666666 欄目:開發技術

QCheckBox類中常用方法如表

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

三態復選框的三種狀態

名稱 含義
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)

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

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

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

    #創建復選框3,設置為3狀態,設置默認選中狀態為半選狀態,當狀態改變時信號觸發事件
    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")

  #輸出三個復選框當前的狀態,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庫圖形界面開發之PyQt5復選框控件QCheckBox詳細使用方法與實例

QCheckBox代碼分析:

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

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

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

當QCheckBox狀態改變時發射stateChanged信號,當信號發生改變時觸發自定義的槽函數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的狀態設置為選中,為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()開啟三態模式,然后設置為半選狀態并連接槽函數

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控件知識請查看下面的相關鏈接

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

彰化县| 梨树县| 石楼县| 阿图什市| 宽城| 开平市| 新安县| 琼海市| 景谷| 武汉市| 司法| 云梦县| 玉龙| 龙山县| 香港| 循化| 桃江县| 区。| 云和县| 肇源县| 安丘市| 青州市| 策勒县| 和林格尔县| 彰化县| 衡南县| 天水市| 沁水县| 冀州市| 安福县| 临安市| 阿鲁科尔沁旗| 彭山县| 法库县| 偃师市| 安吉县| 繁峙县| 凌云县| 日照市| 小金县| 大石桥市|