035.PyQt5_QCheckBox_复选框按钮

QCheckBox复选框按钮

  • 描述
    • 一般用于给用户提供若干选项中的多选操作
      • 比如:兴趣爱好(Python、C++、Java、...)
    • 可以都选, 可以都不选, 可以选部分
    • 左侧会有一个方框图标, 标识用户的选中状态
  • 继承自:QAbstractButton
  • 功能作用
  • 创建复选框按钮
    QCheckBox(parent=None)                  # 创建的同时设置父控件
    QCheckBox(text, parent=None)            # 创建的同时设置提示文本和父控件
    
  • 常用继承父类操作
    setIcon(QIcon)                          # 设置图标,图标位于方框和文本中间
    
    setShortcut("Ctrl+A")                               # 设置快捷键
    # 方法二:设置提示文本的时候在快捷字母前加&
    
  • 设置是否三态
    • 未选中、部分选中、被选中
    setTristate(bool=True)                 # 设置是否支持复选框展示三种状态
    
    isTristate()                           #  获取复选框是否支持展示三种状态
    
  • 设置复选框状态
    setCheckState(Qt.CheckState)            # 设置复选框的状态
        # 参数
                Qt.Unchecked                # 该项目未选中
                Qt.PartiallyChecked         # 部分选中
                Qt.Checked                  # 真的被选中
                
    
    checkState()                            # 获取复选框的状态
        # 返回值
                Qt.Unchecked                # 返回 0
                Qt.PartiallyChecked         # 返回 1
                Qt.Checked                  # 返回 2
                     
    
  • 可用信号
    stateChanged(int state)                     # 选中或清除选中时, 发射此信号。发射当前复选框的状态(0, 1, 2)
    
    # 继承自QAbstractButton类
        pressed()                 # 鼠标按下信号
        released()                # 鼠标释放信号(控件内松开鼠标/鼠标移出控件范围后)
        clicked(checked=False)    # 单击信号(控件内按下+控件内释放),传递按钮是否被选中状态
        toffled(bool checked)     # 选中状态切换信号(一般在单选框或者复选框中使用),传递按钮是否被选中状态
    
    # 继承自QWidget类
        windowTitleChanged(QString)           # 窗口标题改变信号,发射新的窗口名称
        windowIconChanged(QIcon)              # 窗口图标改变信号,发射图标对象
        customContextMenuRequested(QPoint)    # 自定义上下文菜单请求信号(鼠标右键按下发射信号),发射(传递)鼠标右键点击的坐标
        
        setContextMenuPolicy(Qt.CustomContextMenu)  # 设置控件自定义上下文菜单策略
        # 参数:
                Qt.CustomContextMenu  # 发射信号customContextMenuRequested(QPoint)
                Qt.DefaultContextMenu  # 默认,调用对象方法contextMenuEvent()
    

  • 示例代码
  • QCheckBox创建和使用
    from PyQt5.Qt import *
    import sys
    
    app = QApplication(sys.argv)
    window = QWidget()
    window.resize(500, 500)
    window.setWindowTitle('QCheckBox-复选框按钮')
    
    cbox1 = QCheckBox('排球 - 未选中' ,window)
    cbox2 = QCheckBox('篮球 - 部分选中', window)
    cbox3 = QCheckBox('足球 - 被选中', window)
    
    cbox1.move(30, 100)
    cbox2.move(180, 100)
    cbox3.move(350, 100)
    
    # 设置cbox1开启三种选择状态
    cbox2.setTristate(True)
    
    # 设置按钮选中状态
    # Qt.Unchecked          # 该项目未选中
    # Qt.PartiallyChecked   # 部分选中
    # Qt.Checked            # 真的被选中
    
    cbox1.setCheckState(Qt.Unchecked)
    cbox2.setCheckState(Qt.PartiallyChecked)
    cbox3.setCheckState(Qt.Checked)
    
    
    print(cbox1.checkState())
    print(cbox2.checkState())
    print(cbox3.checkState())
    
    window.show()
    sys.exit(app.exec_())
    
  • QCheckBox可用信号

 

你可能感兴趣的:(PyQt5,qt5,pyqt,python,qt,ui)