• 按钮类控件-QCheckBox


    QCheckBox类继承自QAbstractButton类。

    QCheckBox(复选框)和 QRadioButton(单选钮)都是选项按钮,因为他们都可以在开(选中)挥着关(未选中)之间切换。他们的区别是对用户选择的限制;单选钮提供了“多选一”的选择;而复选框提供的是“多选多”的选择。

    QCheckBox类中的常用方法:

      setChecked()    设置复选框的状态,设置为True时表示选中复选框,设置为False时表示取消选中复选框

      setText()      设置复选框的显示文本

      text()         返回复选框的显示文本

      isChecked()     检查复选框是否被选中

      setTriState()    设置复选框为一个三态复选框

    三态复选框有三种状态

      Qt.Checked      2    组件没有被选中(默认值)

      Qt.PartiallyChecked   1    组件被半选中

      Qt.Unchecked       0    组件被选中

    案例16  QCheckBox按钮的使用

    import sys
    from PyQt5.QtCore import Qt
    from PyQt5.QtGui import *
    from PyQt5.QtWidgets import QWidget, QApplication, QCheckBox, QGroupBox, QHBoxLayout, QVBoxLayout
    
    
    class CheckBoxDemo(QWidget):
        def __init__(self, parent=None):
            super().__init__(parent)
    
            groupbox = QGroupBox("Checkboxes")
            groupbox.setFlat(True)
    
            layout = QHBoxLayout()
            self.checkbox1 = QCheckBox("&Checkbox1")  # 为checkBox1设置快捷键,通过“Alt+C”可以选择checkbox1复选框
            self.checkbox1.setChecked(True)
            self.checkbox1.stateChanged.connect(lambda: self.btnstate(self.checkbox1))
            layout.addWidget(self.checkbox1)
    
            self.checkbox2 = QCheckBox("Checkbox2")
            self.checkbox2.toggled.connect(lambda: self.btnstate(self.checkbox2))
            layout.addWidget(self.checkbox2)
    
            self.checkbox3 = QCheckBox("Checkbox3")
            self.checkbox3.setTristate(True)  # 开启三态模式
            self.checkbox3.setCheckState(Qt.PartiallyChecked)
            self.checkbox3.stateChanged.connect(lambda: self.btnstate(self.checkbox3))
            layout.addWidget(self.checkbox3)
    
            groupbox.setLayout(layout)
            mainlayout = QVBoxLayout()
            mainlayout.addWidget(groupbox)
    
            self.setLayout(mainlayout)
            self.setWindowTitle("CheckBox Demo")
    
        def btnstate(self, btn):
            chk1status = (self.checkbox1.text() + ", is Checked = " + str(self.checkbox1.isChecked()) + ", is checkState = "
                          + str(self.checkbox1.checkState()) + "
    ")
            chk2status = (self.checkbox2.text() + ", is Checked = " + str(self.checkbox2.isChecked()) + ", is checkState = "
                          + str(self.checkbox2.checkState()) + "
    ")
            chk3status = (self.checkbox3.text() + ", is Checked = " + str(self.checkbox3.isChecked()) + ", is checkState = "
                          + str(self.checkbox3.checkState()) + "
    ")
        print(chk1status + chk2status + chk3status)
    if __name__ == "__main__": app = QApplication(sys.argv) checkboxdemo = CheckBoxDemo() checkboxdemo.show() sys.exit(app.exec_())
  • 相关阅读:
    Atlas 在web.config中的配置
    解决Windows 7 IIS7.5 用户 'IIS APPPOOL\{站点名} AppPool'登录失败
    IIS7 无法访问请求的页面,因为该页的相关配置数据无效。
    三国演义60条职场启示
    程序员,请对自己好一点!
    HTTP 错误 403.14 Forbidden Web 服务器被配置为不列出此目录的内容
    [转] 这样学英语三个月超过你过去学三年
    HTTP 错误 500.19 Internal Server Error
    软件项目经理新手上路(12) 给新手的建议
    CPU指令集扫盲帖 四
  • 原文地址:https://www.cnblogs.com/lynsha/p/13408733.html
Copyright © 2020-2023  润新知