PyQt5Day12--按钮QButtonGroup

1、QButtonGroup简介

  提供一个抽象的按钮容器,可以将多个按钮划分为一组;

  不具备可视化的效果;

  一般放的都是可以被检查的按钮;

  继承于QObject。

2、功能操作

 1 # *******************QButtonGroup**********************开始
 2 import sys
 3 from PyQt5.Qt import *
 4 
 5 app=QApplication(sys.argv)
 6 
 7 window=QWidget()
 8 window.setWindowTitle("QButtonGroup")
 9 window.resize(500,500)
10 
11 # *********添加按钮***********begin
12 # 男女
13 r_male = QRadioButton('',window)
14 r_male.move(100,100)
15 r_male.setChecked(True)
16 r_female = QRadioButton('',window)
17 r_female.move(100,150)
18 
19 sex_group = QButtonGroup(window)
20 sex_group.addButton(r_male)
21 sex_group.addButton(r_female)
22 
23 # 是否
24 r_yes = QRadioButton('',window)
25 r_yes.move(300,100)
26 r_no = QRadioButton('',window)
27 r_no.move(300,150)
28 
29 answer_group = QButtonGroup(window)
30 answer_group.addButton(r_yes,1)
31 answer_group.addButton(r_no,2)
32 # *********添加按钮***********end
33 
34 # *********查看按钮***********begin
35 print(sex_group.buttons())
36 print(answer_group.button(2))
37 print(sex_group.checkedButton()) 
38 # *********查看按钮***********end
39 
40 # *********移除按钮***********begin
41 # 不是从界面移除
42 sex_group.removeButton(r_female)
43 # *********移除按钮***********end
44 
45 # *********绑定和获取ID***********begin
46 # 设置
47 sex_group.setId(r_male,1)
48 sex_group.setId(r_female,2)
49 # 获取
50 print(sex_group.id(r_male)) # 1
51 print(sex_group.id(r_female)) # 2
52 # *********绑定和获取ID***********end
53 
54 # *********独占设置***********begin
55 sex_group.setExclusive(True)
56 # *********独占设置***********end
57 
58 # *********信号***********begin
59 def test1(val):
60     print(val)
61     print(answer_group.id(val)) # 获取整型传参
62 def test2(val):
63     print("点击了")
64     print(val)
65 answer_group.buttonToggled.connect(test1) # 打印两个
66 # [int] 选择整型传参
67 # answer_group.buttonClicked[int].connect(test2) # 打印一个
68 # *********信号***********end
69 
70 window.show()
71 sys.exit(app.exec_())
72 # *******************QButtonGroup* *********************结束

作者(QQ):931935931

原文地址:https://www.cnblogs.com/fengxb1213/p/12548308.html