复选框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()      检查复选框是否被选中

 

posted @   天子骄龙  阅读(2683)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示