私は、PySide GUIのすべてのテストステップで、合格/不合格をテスターから取得する必要がある状況があります。今度はtestsuiteのデータがforループで実行されており、forループのQRadioButtonの現在のチェック/チェックされていない状態を取得しようとしています。これに基づいてコード処理が行われます。 私のコードは次のとおりです。 -QRadioButtonが毎回チェックされるまでforループを待っていますか?
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
私はテスターが入力を提供していると私は便利な方法が示されない限り、スレッドを使用するために睡眠を置くか、とにかくしたくないまで待つためにループのためにしたいです。 このコードは、入力を待たずに完全なループを実行します。
: http://pyqt.sourceforge.net/Docs/PyQt5/signals_slots.html
をだからあなたのような何かを記述する必要があります。 4.5より古いバージョンのPyQt4を使用している人はほとんどいません(v4.5は7年以上前にリリースされました!)。したがって、PyQt4の例でも「新しいスタイル」の構文が好まれます。詳細は、[here](http://pyqt.sourceforge.net/Docs/PyQt4/new_style_signals_slots.html)を参照してください。 –
@three_pineapples @three_pineapples、説明をいただきありがとうございます。QtとPythonを別々に使用していますので、私はそれを知らなかったので... – ukrkyi
responeのおかげで、私は "exec"という行176、列14に遭遇しました。期待していた: ... loop.exec() –