Пример #1
0
    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)