2016-11-25 12 views
-1

며칠 전, for 루프에서 QRadioButton을 점검/선택 취소해야하는 상황이있었습니다. 여기에 링크가 있습니다 Waiting in for loop until QRadioButton get checked everytime? QEventLoop을 구현 한 후 오늘까지 제대로 작동했습니다. 이제 QRadioButton (통과) 버튼을 클릭하여 두 번째 QRadioButton (실패)을 클릭하는 것을 볼 수 있습니다.QRadioButton을 QtCore.QEventLoop()과 연결 한 후에 QRadioButton을 클릭 할 수 없습니다.

실패 QRadioButton도 정지하거나 비활성화하지 않지만 클릭 만 할 수 없습니다.

내 QEventLoop 코드는 다음과 같습니다

#QLoopEvent 
self.loop = QtCore.QEventLoop() 
self.ui.fail_radio.clicked.connect(self.loop.quit) 
self.ui.pass_radio.clicked.connect(self.loop.quit) 

코드 for 루프가에 :

self.ui.question_lbl.setText(self.saveQuestionslist[i]) 
self.loop.exec_(); 

if self.ui.fail_radio.isChecked(): 
    ***Some Code** 
    self.radioExclusive() 
elif self.ui.pass_radio.isChecked(): 
    ***Some Code** 
    self.radioExclusive() 

그리고이 radioExclusive 기능은이 작업을 수행 : -

def radioExclusive(self): 
     self.ui.pass_radio.setAutoExclusive(False); 
     self.ui.fail_radio.setAutoExclusive(False); 
     self.ui.pass_radio.setChecked(False) 
     self.ui.fail_radio.setChecked(False) 
     self.ui.pass_radio.setAutoExclusive(True); 
     self.ui.fail_radio.setAutoExclusive(True); 

I은 ​​확실하지 않다 이 문제가 발생하는 시점은 무엇입니까?

답변

0

좋아요, 문제는 QEventloop이 아니고 Radio Pass의 UI를 개발하는 동안 패스의 추가 영역이 Fail Radio를 섀도 잉하는 것이 었습니다.

enter image description here