canoe多个Radio Button怎么关联信号
时间: 2024-02-02 15:03:58 浏览: 90
关联多个Radio Button的信号,可以使用QButtonGroup类。具体步骤如下:
1. 在代码中创建多个QRadioButton对象,并设置它们的文本和父窗口等属性。
2. 创建一个QButtonGroup对象,将这些QRadioButton对象添加到QButtonGroup对象中。
3. 通过QButtonGroup对象的信号buttonClicked(int id)连接槽函数,来处理Radio Button的信号。
4. 在槽函数中通过QButtonGroup对象的checkedId()方法,获取当前被选中的Radio Button的id,从而进行相应的处理。
以下是示例代码:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QButtonGroup, QRadioButton
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建两个Radio Button
self.radio_btn1 = QRadioButton("Option 1", self)
self.radio_btn2 = QRadioButton("Option 2", self)
# 创建一个QButtonGroup,并将两个Radio Button添加到组中
self.btn_group = QButtonGroup(self)
self.btn_group.addButton(self.radio_btn1, 1)
self.btn_group.addButton(self.radio_btn2, 2)
# 连接QButtonGroup的信号buttonClicked(int id)到槽函数
self.btn_group.buttonClicked[int].connect(self.handle_radio_btn)
# Radio Button的槽函数
def handle_radio_btn(self, id):
if id == 1:
print("Option 1 is selected.")
elif id == 2:
print("Option 2 is selected.")
if __name__ == '__main__':
app = QApplication([])
window = MyWindow()
window.show()
app.exec_()
```
这个示例中,我们创建了两个Radio Button,并将它们添加到一个QButtonGroup中。然后,我们连接了QButtonGroup的信号buttonClicked(int id)到槽函数handle_radio_btn中。在槽函数中,我们通过QButtonGroup的checkedId()方法获取当前被选中的Radio Button的id,并打印相应的信息。
阅读全文