1、QRadioButton简介
一般用于给用户提供若干个选项中的单选操作。
继承于QAbstractButton。
2、功能操作
1 # *******************QRadioButton**********************开始 2 import sys 3 from PyQt5.Qt import * 4 5 app=QApplication(sys.argv) 6 7 window=QWidget() 8 window.setWindowTitle("QRadioButton") 9 window.resize(500,500) 10 11 # 只有单个按钮式,可以单击选择,再单击取消; 12 # 而有多个按钮时,必须选择其中一个 13 rb_nan = QRadioButton('男-&Man',window) # 快捷键Alt+m切换 14 # rb_nan.setShortcut('Alt+m') 15 rb_nan.move(100,100) 16 rb_nan.setChecked(True) # 默认选中 17 18 rb_nv = QRadioButton('女-&Female',window) # 快捷键Alt+f切换 19 rb_nv.move(100,150) 20 rb_nv.setIcon(QIcon('xxx.png')) 21 rb_nv.setIconSize(QSize(20,20)) 22 rb_nv.toggled.connect(lambda isChecked:print(isChecked)) 23 24 window.show() 25 sys.exit(app.exec_()) 26 # *******************QRadioButton**********************结束
3、解决选项组不互斥的问题
(1)添加两个父控件继承顶层控件,选项组分别放入两个父控件
1 import sys 2 from PyQt5.Qt import * 3 4 app=QApplication(sys.argv) 5 6 window = QWidget() 7 window.setWindowTitle("QRadioButton") 8 window.resize(500,500) 9 10 11 red = QWidget(window) 12 red.resize(200,200) 13 red.setStyleSheet('background-color:red') 14 red.move(50,50) 15 16 green = QWidget(window) 17 green.resize(200,200) 18 green.setStyleSheet('background-color:green') 19 green.move(red.x()+red.width(),red.y()+red.height()) 20 21 # 只有单个按钮式,可以单击选择,再单击取消; 22 # 而有多个按钮时,必须选择其中一个 23 rb_nan = QRadioButton('男-&Man',red) # 快捷键Alt+m切换 24 # rb_nan.setShortcut('Alt+m') 25 rb_nan.move(10,10) 26 rb_nan.setChecked(True) # 默认选中 27 28 rb_nv = QRadioButton('女-&Female',red) # 快捷键Alt+f切换 29 rb_nv.move(10,50) 30 rb_nv.setIcon(QIcon('xxx.png')) 31 rb_nv.setIconSize(QSize(20,20)) 32 rb_nv.toggled.connect(lambda isChecked:print(isChecked)) 33 34 35 rb_yes = QRadioButton('yes',green) 36 rb_yes.move(10,10) 37 rb_no = QRadioButton('no',green) 38 rb_no.move(10,50) 39 40 window.show() 41 sys.exit(app.exec_())
(2)通过QButtonGroup实现,见下一节。
作者(QQ):931935931