import sys from PyQt5.QtWidgets import QApplication,QWidget,QHBoxLayout,QCheckBox from PyQt5.QtCore import Qt class checkBoxDemo(QWidget): def __init__(self): super(checkBoxDemo, self).__init__() #定义checkbox self.checkbox1 = QCheckBox() self.checkbox2 = QCheckBox() self.checkbox3 = QCheckBox() self.checkbox4 = QCheckBox() self.checkbox5 = QCheckBox() #设置checkbox1 self.checkbox1.setText("cbox1") #命名 self.checkbox1.setTristate(True) #设置为三态,没选为0,半选为1,选中为2 #self.checkbox1.setCheckState(Qt.PartiallyChecked) #设置信号与槽 self.checkbox1.stateChanged.connect(self.checkboxtristate) #设置checkbox2 self.checkbox2.setText("cbox2") self.checkbox2.setTristate(True) #设置为3态 #self.checkbox2.setCheckState(Qt.Checked) #设置默认为已经checked #self.checkbox2.setCheckState(Qt.PartiallyChecked) self.checkbox2.setCheckState(Qt.Unchecked) #设置为unchecked #设置checkbox3 self.checkbox3.setText("cbox3") #默认为2态 checked and unchecked #设置checkbox4 self.checkbox4.setText("cbox4") self.checkbox4.setChecked(True) # 设置信号clicked与槽 self.checkbox4.clicked.connect(self.checkboxState) #设置checkbox5 self.checkbox5.setText("cbox5") self.checkbox5.setCheckable(False) #设置不可点击 #布局 hlayout = QHBoxLayout() hlayout.addWidget(self.checkbox1) hlayout.addWidget(self.checkbox2) hlayout.addWidget(self.checkbox3) hlayout.addWidget(self.checkbox4) hlayout.addWidget(self.checkbox5) self.setLayout(hlayout) self.resize(200,100) self.setWindowTitle("checkBoxDemo") def checkboxState(self): if self.checkbox4.isChecked(): print("{} is Clicked".format(self.checkbox4.text())) def checkboxtristate(self): print(self.checkbox1.checkState()) if __name__ == '__main__': app = QApplication(sys.argv) checkbox = checkBoxDemo() checkbox.show() sys.exit(app.exec_())
参考:PyQt5基本控件详解之QCheckBox(八)_jia666666的博客-CSDN博客_pyqt5 qcheckbox