数日前、for ループで QRadioButton をチェック/チェック解除しなければならない状況がありました。これは、 QRadioButtonが毎回チェックされるまでループを待っているリンクです?
これを実装QEventLoop
した後、今日までうまくいきました。QRadioButton(pass) ボタンをクリックできるようになりましたが、2 番目の QRadioButton(fail) ではクリックできませんでした。
Fail 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);
この問題がどの時点で発生しているのかわかりません。