두 개의 라디오 버튼이 있습니다. 첫 번째 것은 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