我正在 PYQT 5 中制作一个用户界面。它包括一个包含几个 QRadioButton 的 QGroupBox。当发生切换事件时,我检查按钮并执行一些操作。问题是有两个切换事件,因为一个按钮打开,一个按钮关闭,所以我的代码总是运行两次。
我一直在寻找来自 QGroupBox 的事件。当我切换单选按钮时,这种情况应该只发生一次而不是两次。
def __init__(self):
self.radioButton1.toggled.connect(self.update_stimulus)
self.radioButton2.toggled.connect(self.update_stimulus)
self.radioButton3.toggled.connect(self.update_stimulus)
def update_stimulus(self):
if self.radioButton1.isChecked():
print('1')
if self.radioButton2.isChecked():
print('2')
if self.radioButton3.isChecked():
print('3')
# Do stuff based on button positions
Run Code Online (Sandbox Code Playgroud)
我尝试使用
self.groupBox.toggled.connect(self.update_stimulus)
Run Code Online (Sandbox Code Playgroud)
但这仅在组框本身被切换时才有效。当其中一个单选按钮发生变化时,有什么方法可以从组框中获取信号,或者我是否必须找到某种方法来处理来自单选按钮的单独信号?