復選框QCheckBox


 

 

 

復選框一共有三種狀態:全選中、半選中和無選中。若一個父選項的子選項全部為選中狀態,則該父選項為全選中;若子選項全部為無選中狀態,則該父選項為無選中狀態;若子選項既有全選中和無選中狀態,則該父選項為半選中狀態

 

import sys
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QWidget, QCheckBox
from PyQt5.QtGui import QIcon

class Demo(QWidget):
    def __init__(self):
        super().__init__()
        self.resize(300,300)
        self.checkbox = QCheckBox('選擇需要添加的佐料:', self)  #實例化復選框
        self.checkbox.move(30,20)
        self.checkbox1 = QCheckBox('辣椒', self)
        self.checkbox1.move(60,60)
        self.checkbox1.setIcon(QIcon('辣椒.png'))   #設置圖標
        self.checkbox2 = QCheckBox('生抽', self)
        self.checkbox2.move(60, 100)
        self.checkbox2.setIcon(QIcon('生抽.png'))
        self.checkbox3 = QCheckBox('味精', self)
        self.checkbox3.move(60, 140)
        self.checkbox3.setIcon(QIcon('味精.png'))

        self.checkbox.setTristate(True)  # 設置復選框是否擁有三種狀態,默認只有兩種
        # isTristate()    返回是否擁有三種狀態
        self.checkbox.setCheckState(Qt.PartiallyChecked)  # 設置復選框為選中狀態
        # 無選中狀態Qt.Unchecked=0     選中狀態Qt.Checked=2    半選中狀態Qt.PartiallyChecked=1
        #checkState()  返回復選框的選中狀態
        self.checkbox1.setChecked(True)  # 設置復選框為選中狀態

        self.checkbox.stateChanged.connect(self.A)  #復選框狀態發生改變的時候發出信號
        #會向槽函數傳遞一個整型參數,表示選中的狀態

    def A(self,i):
        print('狀態改變了',i)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    demo = Demo()
    demo.show()
    sys.exit(app.exec_())

 

 

setText()   設置復選框的顯示文本

isChecked()      檢查復選框是否被選中

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM