zoukankan      html  css  js  c++  java
  • PyQt5 控件学习(一个一个学习之QCheckBox)

     

     

     QCheckBox继承图:

    QCheckBox描述:

    一般是方框图标,多选操作!

    QCheckBox继承:

    它继承自 QAbstarctButton

    QCheckBox功能作用:

    from PyQt5.Qt import * #刚开始学习可以这样一下导入
    import sys
    #1,创建app
    app  = QApplication(sys.argv)
    
    
    #2,控件的操作:
    #创建控件
    window = QWidget()
    
    
    #设置控件
    window.setWindowTitle("QCheckBox")
    window.resize(500,500)
    
    checkbox1 = QCheckBox(window)
    checkbox1.setText("Python")
    
    
    checkbox2 = QCheckBox(window)
    checkbox2.setText("C++")
    checkbox2.move(0,30)
    
    checkbox3 = QCheckBox(window)
    checkbox3.setText("C")
    checkbox3.move(0,60)
    
    
    
    #展示控件
    window.show()
    
    #3,进入消息循环
    sys.exit(app.exec_())
    View Code

    from PyQt5.Qt import * #刚开始学习可以这样一下导入
    import sys
    #1,创建app
    app  = QApplication(sys.argv)
    
    
    #2,控件的操作:
    #创建控件
    window = QWidget()
    
    
    #设置控件
    window.setWindowTitle("QCheckBox")
    window.resize(500,500)
    
    checkbox1 = QCheckBox(window)
    checkbox1.setText("&Python")
    ############################设置图标和快捷键###############################
    checkbox1.setIcon(QIcon("icon.ico"))
    checkbox1.setShortcut("Ctrl+P")   
    ############################设置图标和快捷键###############################
    
    
    checkbox2 = QCheckBox(window)
    checkbox2.setText("C++")
    checkbox2.move(0,30)
    
    checkbox3 = QCheckBox(window)
    checkbox3.setText("C")
    checkbox3.move(0,60)
    
    
    
    #展示控件
    window.show()
    
    #3,进入消息循环
    sys.exit(app.exec_())
    view code

    它默认是展示两种状态,可以通过设置来展示三种状态。

    from PyQt5.Qt import * #刚开始学习可以这样一下导入
    import sys
    #1,创建app
    app  = QApplication(sys.argv)
    
    
    #2,控件的操作:
    #创建控件
    window = QWidget()
    
    
    #设置控件
    window.setWindowTitle("QCheckBox")
    window.resize(500,500)
    
    checkbox1 = QCheckBox(window)
    checkbox1.setText("Python")
    
    ############################设置三种状态###############################
    checkbox1.setTristate(True)
    
    print(checkbox1.isTristate())
    ############################设置三种状态###############################
    
    
    checkbox2 = QCheckBox(window)
    checkbox2.setText("C++")
    checkbox2.move(0,30)
    
    checkbox3 = QCheckBox(window)
    checkbox3.setText("C")
    checkbox3.move(0,60)
    
    
    
    #展示控件
    window.show()
    
    #3,进入消息循环
    sys.exit(app.exec_())
    设置开启三种状态

    设置三种状态!通过枚举值来设置的!

    from PyQt5.Qt import * #刚开始学习可以这样一下导入
    import sys
    #1,创建app
    app  = QApplication(sys.argv)
    
    
    #2,控件的操作:
    #创建控件
    window = QWidget()
    
    
    #设置控件
    window.setWindowTitle("QCheckBox")
    window.resize(500,500)
    
    checkbox1 = QCheckBox(window)
    checkbox1.setText("Python")
    
    checkbox1.setTristate(True)
    
    ############################设置复选框的状态(有三种状态的)###############################
    checkbox1.setCheckState(Qt.PartiallyChecked)  # 半选中状态
    # checkbox1.setCheckState(Qt.Checked)  #选中
    # checkbox1.setCheckState(Qt.Unchecked) #未选中
    
    ############################设置复选框的状态(有三种状态的)###############################
    
    
    
    checkbox2 = QCheckBox(window)
    checkbox2.setText("C++")
    checkbox2.move(0,30)
    
    checkbox3 = QCheckBox(window)
    checkbox3.setText("C")
    checkbox3.move(0,60)
    
    
    
    #展示控件
    window.show()
    
    #3,进入消息循环
    sys.exit(app.exec_())
    View Code

    QCheckBox信号:

     

    它之所以多了个信号,是因为它有的时候是三态,所以之前的toggled 就不支持三态了。

    0  未选中,1 半选中 ,2 全选中

    from PyQt5.Qt import * #刚开始学习可以这样一下导入
    import sys
    #1,创建app
    app  = QApplication(sys.argv)
    
    
    #2,控件的操作:
    #创建控件
    window = QWidget()
    
    
    #设置控件
    window.setWindowTitle("QCheckBox")
    window.resize(500,500)
    
    checkbox1 = QCheckBox(window)
    checkbox1.setText("Python")
    
    checkbox1.setTristate(True)
    
    ###########################################################
    checkbox1.stateChanged.connect(lambda state:print(state))
    ###########################################################
    
    checkbox2 = QCheckBox(window)
    checkbox2.setText("C++")
    checkbox2.move(0,30)
    
    checkbox3 = QCheckBox(window)
    checkbox3.setText("C")
    checkbox3.move(0,60)
    
    
    
    #展示控件
    window.show()
    
    #3,进入消息循环
    sys.exit(app.exec_())
    View Code

    如果此时要是用toggled信号的话,半选和全选将都是True ,而不选是False 

    总结:到此为止,就说完了所有的按钮控件,下面是输入控件

    https://www.cnblogs.com/zach0812/p/11372991.html

  • 相关阅读:
    电脑缺少网卡驱动不能上网
    eclipse的package, folder, source folder 异同以及相互转化
    向数据库表插入查询的数据
    更换项目jdk版本
    linux安装jdk(非rpm命令)
    主机ping不同虚拟机
    如何实现VoIP中大并发应用
    简单设置几个参数让你的电脑无人可染指(只有你能用)
    aliyun阿里云Maven仓库地址——加速你的maven构建
    nodejs持续学习--必须关注4网站
  • 原文地址:https://www.cnblogs.com/zach0812/p/11372324.html
Copyright © 2011-2022 走看看