我有2个单选按钮。第一个radio1
连接到功能func()
,并且该功能内部将按钮pushButton
连接到另一个功能print_me()
。如何在QRadioButton上多次点击,但只运行一次?
这是剥离下来的代码:
radio = self.dockwidget.radioButton
radio.clicked.connect(func)
def func():
# Connect pushButton to "print_me" function
connect = self.dockwidget.pushButton
connect.clicked.connect(print_me)
def print_me():
print 'Connected'
和
当用户点击radio1
pushButton
然后,被打印的消息。问题是如果用户单击radio
10次然后pushButton
,则该消息也被打印10次。或者,如果用户点击radio1
,然后radio2
,并返回到radio1
,它仍然会打印该消息两次。
有没有一种方法可以防止这种情况发生,以便在单击单选按钮时仅打印一次消息?
你可以使用它存储的功能是否已经称为一个全局变量。 –
@Ashafix - 谢谢,我会检查这个,看看它是如何=) – Joseph
小心与全球变量的想法。你确定你只希望函数在整个程序执行过程中运行一次吗?如果清除单选按钮(例如通过单击组中的另一个按钮),然后再次单击,是否要让该功能第二次运行?如果用户从该表单导航离开,然后再回到该表单,那该怎么办? – nephtes