def executeTests(self): """ Cria um frame de resultados e cria uma thread independente da interface gráfica para a execução dos resultados. Enquanto os testes são executados, um label é exibido sobre a tela de seleção. Ao final de cada teste o resultado é inserido no frame de resultados. Ao final de todos os testes, a tela de resultados é exibida. """ self.resultFrame = LDC_Result_Frame() self.logger = [] chosen_libraries = self.selectionFrame.getChosen() executor = LDC_Executor(self, chosen_libraries) QtCore.QObject.connect(self.resultFrame.pushButton, QtCore.SIGNAL("clicked()"), self.createReport) QtCore.QObject.connect(self.resultFrame.pushButton_2, QtCore.SIGNAL("clicked()"), self.selectTests) QtCore.QObject.connect(executor, QtCore.SIGNAL("exec_addResult(PyQt_PyObject)"), self.addResult) executor.start() label = self.createLoadingLabel() while executor.isRunning(): label.setText("Carregando") label.update() self.app.processEvents() time.sleep(0.4) label.setText("Carregando.") label.update() self.app.processEvents() time.sleep(0.4) label.setText("Carregando..") label.update() self.app.processEvents() time.sleep(0.4) label.setText("Carregando...") label.update() self.app.processEvents() time.sleep(0.4) executor.terminate() executor.wait() label.hide() self.setCentralWidget(self.resultFrame)