将其与QtCore.QEventLoop()链接后无法单击QRadioButton

时间:2016-11-25 11:59:19

标签: python pyqt4 pyside qeventloop qradiobutton

几天前我遇到了必须检查/取消选中QRadioButton for循环的情况。这是链接nodir option 在对此实施QEventLoop之后,它一直运行到今天。现在我已经看到我的QRadioButton(通过)按钮允许我点击它而不是第二个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);

我不确定这个问题发生在什么时候?

1 个答案:

答案 0 :(得分:0)

好的,问题不在于QEventloop,而是在开发Radio Pass的UI时,额外的传递区域正在影响Fail Radio。

enter image description here