• 中文文档
  • GUI模板
  • 项目合作
  • 加入会员
  • 登录 注册
    当前位置: PyQt5> PyQt5常用控件属性和方法学习> QButtonGroup方法和信号

    QButtonGroup方法和信号

    2020年12月12日 16:43 65浏览 PyQt5中文网 PyQt5常用控件属性和方法学习

    QButtonGroup方法和信号

    ################################
    # PyQt5中文网 - PyQt5全套视频教程 #
    #    https://www.PyQt5.cn/     #
    #         主讲: 村长            #
    ################################
    from PyQt5.Qt import *
    import sys
    
    app = QApplication(sys.argv)
    
    window = QWidget()
    window.setWindowTitle('QButtonGroup - PyQt5中文网')
    window.resize(600,450)
    window.move(300,300)
    
    btn1 = QRadioButton('男',window)
    btn1.setIcon(QIcon('1.png'))
    btn1.move(60,60)
    btn1.resize(60,35)
    btn1.setChecked(True)
    btn1.setStyleSheet('background-color:green')
    
    btn2 = QRadioButton('女',window)
    btn2.setIcon(QIcon('2.png'))
    btn2.move(60,120)
    btn2.resize(60,35)
    btn2.setStyleSheet('background-color:green')
    sex_group = QButtonGroup(window)  # 创建按钮组,放在父控件内
    sex_group.addButton(btn1,1)
    sex_group.addButton(btn2,2)
    
    btn3 = QRadioButton('是',window)
    btn3.move(200,60)
    btn3.resize(60,35)
    btn3.setStyleSheet('background-color:green')
    
    btn4 = QRadioButton('否',window)
    btn4.move(200,120)
    btn4.resize(60,35)
    btn4.setStyleSheet('background-color:green')
    group2 = QButtonGroup(window)
    group2.addButton(btn3,3)
    group2.addButton(btn4,4)
    
    
    # print(sex_group.buttons())  # 获取组中所有按钮
    # print(sex_group.button(1))  # 获取组中ID=1的按钮
    # print(sex_group.checkedButton())  # 获取组中选中按钮
    # 如果不设置按钮ID,按钮ID会默认为-1,并逐个递减
    
    # sex_group.removeButton(btn2)  # 从组中移除按钮,注意这时候的互斥关系
    
    # 按钮ID设置,放在组中设置
    group2.setId(btn3,3)
    group2.setId(btn4,4)
    # print(group2.id(btn4))
    # print(group2.checkedId()) # 没有选中的话结果是-1
    
    # 独占设置
    group2.setExclusive(True)
    
    # 可用信号
    def test(val):
        print(val)
    # group2.buttonToggled.connect(test)
    # 这里会传出两个信号,下面是选择信号的方法[int] or [QAbstractButton]
    group2.buttonClicked[QAbstractButton].connect(test)
    # group2.buttonPressed[int].connect(test)
    # group2.buttonReleased.connect(test)
    
    
    
    window.show()
    sys.exit(app.exec_())


    标签栏目

  • 文案文案
  • 文案文案
  • 炫酷界面