当前位置:首页>python>33.Python实战__多选按钮简介

33.Python实战__多选按钮简介

  • 2026-10-11 07:16:03
33.Python实战__多选按钮简介
    上节聊了聊单选按钮QRadioButton,本节来聊聊多选按钮QCheckBox,多选按钮就是一次能选多个选项,就像是考试的多项选择题一样,可以选择多个答案。
先看单选按钮效果
用法其实也很简单,附原代码如下:
一、还是先导入常用的模块
from PySide6.QtWidgets import QWidget, QApplication,      QPushButton, QGridLayout, QLabel, QCheckBox
二、创建类Btn并继承QWidget
class Btn(QWidget):      def __init__(self):            super().__init__()            # 设置窗口标题    self.setWindowTitle("多选按钮")            # 设置窗口尺寸    self.resize(300, 300)            # 设置控件样式(暂时跳过,后面再聊这部分内容)    self.setStyleSheet("""                        QWidget                        {                          background-color: lightblue;                            font-size: 20px;                        }                        """)     # 创建网格布局     self.main_layout = QGridLayout()     # 设置网格布局为主布局             self.setLayout(self.main_layout)             # 设置布局的水平和垂直间隔距离为20             self.main_layout.setSpacing(20)     # 设置(左、上、右、下)内容边距             self.main_layout.setContentsMargins(20, 20, 10, 10)     # 初始化实例方法setup_01         self.setup_01()
三、创建实例方法setup_01,在实例方法中创建所需要的控件
def setup_01(self):      # 创建题目标签      self.label_1 = QLabel("近二年最流行的排名前三的编程语言是:", self)         # 创建四个多选按钮  self.checkbox_01 = QCheckBox("  Python", self)  self.checkbox_02 = QCheckBox("  Java", self)  self.checkbox_03 = QCheckBox("  C语言", self)  self.checkbox_04 = QCheckBox("  C++", self)      # 创建提交答案按钮      self.btn = QPushButton("确认提交", self)      # 为按钮连接槽函数  self.btn.clicked.connect(self.show_result)      # 创建结果展示标签      self.label_2 = QLabel()      # 把上面标签添加到布局中      self.main_layout.addWidget(self.label_1, 0, 0)      self.main_layout.addWidget(self.radio_01, 1, 0)      self.main_layout.addWidget(self.radio_02, 2, 0)      self.main_layout.addWidget(self.radio_03, 3, 0)      self.main_layout.addWidget(self.radio_04, 4, 0)      self.main_layout.addWidget(self.btn, 5, 0)      self.main_layout.addWidget(self.label_2, 6, 0)
四、创建按钮连接的槽函数
def show_result(self):      # 先判断,有没有选择答案      if not (self.checkbox_01.isChecked() or self.checkbox_02.isChecked()          or self.checkbox_03.isChecked()           or self.checkbox_04.isChecked()):        self.label_2.setText("请还没有选择答案!")  elif self.checkbox_01.isChecked() and self.checkbox_03.isChecked() \          and self.checkbox_04.isChecked() and not self.checkbox_02.isChecked():    self.label_2.setText("恭喜你答对了!")        self.label_2.setStyleSheet("color: red;")  else:            self.label_2.setText("很遗憾,你答错了!")            self.label_2.setStyleSheet("color: green;")
五、创建运行主函数 (固定写法)  
if __name__ == "__main__":      import sys      app = QApplication(sys.argv)      win = Btn()    # 用创建的类 Win实例化一个对象,赋值给 win  win.show()     # 显示 实例化的  win  窗口   sys.exit(app.exec())   # 运行程序
    大家工作中有什么重复性的劳动,可以留言,在能力范围内的,在能力范围之内的,我试着用编程帮来你解决,可以专门拿出来大家聊聊,大家一起用编程来解决问题生活中的问题;如果能解决更好,不能解决大家也一起交流,学习;欢迎大家踊跃留言。

最新文章

随机文章