我有一种情况,我需要从PySide GUI中的每个测试步骤都通过测试仪的通过/失败。现在,我正在for循环运行测试套件的数据,并试图获取QRadioButton的for循环的当前选中/未选中状态,我将在其中进行进一步的代码处理。 我的代码是: -等待循环,直到QRadioButton每次被检查?
for i in range(self.ui.hlfDataset_sa_lst.count()):
self.ui.pass_radio.setChecked(False)
self.ui.fail_radio.setChecked(False)
print "command ", str(self.ui.hlfDataset_sa_lst.item(i).text())
print "Run ", str(i)+" is here"
##
self.telnetThread = TelnetThread.SocketTunnel("localhost",2000)
returnCommand = self.telnetThread.communicateSock(str(self.ui.hlfDataset_sa_lst.item(i).text()))
print "returnCommand ",returnCommand
##XML Data structure
result = ET.SubElement(results,"result")
testcasestepno = ET.SubElement(result,"testcasestepno")
testerComment = ET.SubElement(result,"testerComment")
testresult = ET.SubElement(result,"testresult")
mguImage = ET.SubElement(result,"mguImage")
if self.ui.pass_radio.isChecked():
print "TC passed "
testcasestepno.text = str(i+1)
testresult.text = "PASS"
mguImage.text = "NA"
testerComment.text=str(self.ui.testercomment_txt.text())
elif self.ui.fail_radio.isChecked():
if not str(self.ui.testercomment_txt.text()):
QtGui.QMessageBox.critical(self, 'Tester Comment ', 'Tester Comment is desired ', QtGui.QMessageBox.Ok)
self.ui.pass_radio.setChecked(False)
self.ui.fail_radio.setChecked(False)
else:
print "TC failed "
testcasestepno.text = str(i+1)
testresult.text = "FAIL"
testerComment.text = str(self.ui.testercomment_txt.text())
#Save Live Image when failed
我想for循环要等到测试仪提供了输入,我不希望把睡眠或以任何方式使用线程,除非显示便捷的方式。 此代码在不等待输入的情况下运行完整循环。
在PyQt5例如提供信号连接的语法也适用于PyQt4的。任何人都不太可能使用比4.5更早版本的PyQt4(v4.5在7年前发布!)。 PyQt4的例子也是“新风格”的语法。有关更多详细信息,请参见[这里](http://pyqt.sourceforge.net/Docs/PyQt4/new_style_signals_slots.html)。 –
@three_pineapples,谢谢澄清,我单独使用Qt和Python,所以我不知道那个...... – ukrkyi
感谢您的回复,我在176行第14列遇到“exec”。期待: ...在loop.exec() –