5.8 QButtonGroup按钮组的使用

2022/3/26 23:24:23

本文主要是介绍5.8 QButtonGroup按钮组的使用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、QButtonGroup按钮组的使用

1.基本概念

sex_group = QButtonGroup(window)  # 1.创建按钮组,放在父控件内,跟按钮同一级别
sex_group.addButton(btn1, 1)      #2.添加按钮
sex_group.addButton(btn2, 2)

2.代码

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('aaa.png'))
btn1.move(60, 60)
btn1.resize(100, 35)
btn1.setChecked(True)
btn1.setStyleSheet('background-color:green')

btn2 = QRadioButton('女', window)
btn2.setIcon(QIcon('aaa.png'))
btn2.move(60, 120)
btn2.resize(100, 35)
btn2.setStyleSheet('background-color:green')
sex_group = QButtonGroup(window)  # 1.创建按钮组,放在父控件内,跟按钮同一级别
sex_group.addButton(btn1, 1)      #2.添加按钮
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)   #按钮3,4为一组
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))  #获取按钮的id
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_())

3.效果



这篇关于5.8 QButtonGroup按钮组的使用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程