PyQt5 之QButtonGroup
QButtonGroup
继承自 QObject
,不是一个可视类,它主要是对按键进行分组,便于按键管理。
一、案例
from PyQt5.Qt import * import sys class Window(QWidget): def __init__(self): super().__init__() self.setWindowTitle('QButtonGroup-使用') self.resize(500, 400) self.setup_ui() def setup_ui(self): rg = QButtonGroup(self) r1 = QRadioButton(self) r1.setText('男') # 设置第一个单选框被选中 r1.setChecked(True) r1.setIcon(QIcon("xxx.png")) r1.move(200, 100) r2 = QRadioButton(self) r2.setText('女') r2.move(300, 100) rg.addButton(r1) rg.addButton(r2) # 设置ID为1 rg.setId(r1, 1) rg.setId(r2, 2) def test(val): print(rg.id(val)) rg.buttonClicked.connect(test) # 设置rg不互斥 rg.setExclusive(False) # 键移出rg rg.removeButton(r1) # 打印所有按钮 print(rg.buttons()) # 打印ID=2的按钮 print(rg.button(2)) # 打印被按下的按钮 print(rg.checkedButton()) if __name__ == '__main__': app = QApplication(sys.argv) window = Window() window.show() sys.exit(app.exec_())