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