PyQt5中如何监听RadioButton状态的变化?
时间: 2024-09-22 18:10:28 浏览: 113
在PyQt5中,要监听`QRadioButton`(单选按钮)的状态变化,你可以通过信号(Signal)和槽(Slot)机制来实现。QRadioButton有一个名为'toggled()'的信号,当其状态改变时(即从未选中变为选中或相反),这个信号会被触发。
以下是基本步骤:
1. 首先,在创建QRadioButton时,关联一个槽函数到'toggled()'信号。这通常在窗口的初始化或布局设置中完成:
```python
from PyQt5.QtWidgets import QApplication, QVBoxLayout, QRadioButton
class YourWindow(QWidget):
def __init__(self):
super().__init__()
self.radioButton = QRadioButton('Option 1')
self.radioButton.toggled.connect(self.button_state_changed)
# 添加其他布局代码...
def button_state_changed(self, checked):
if checked:
print("Radio button is now checked.")
else:
print("Radio button is now unchecked.")
# 启动应用
app = QApplication([])
window = YourWindow()
window.show()
app.exec_()
```
在这个例子中,每当`radioButton`的状态改变(无论是选中还是取消选中),`button_state_changed`函数都会被调用,并打印相应的消息。
阅读全文