From d81f98ce29edb5fcff3701ebf8ceb3ebfd8b1d70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luiz=20Ot=C3=A1vio?= Date: Sat, 11 Mar 2023 10:21:59 -0300 Subject: [PATCH] QObject e QThread: criando o "Worker" --- aula204/main.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/aula204/main.py b/aula204/main.py index 053d372..71fb91d 100644 --- a/aula204/main.py +++ b/aula204/main.py @@ -1,14 +1,43 @@ import sys +import time +from PySide6.QtCore import QObject, Signal, Slot from PySide6.QtWidgets import QApplication, QWidget from ui_workerui import Ui_myWidget +class Worker1(QObject): + started = Signal(str) + progressed = Signal(str) + finished = Signal(str) + + def run(self): + value = '0' + self.started.emit(value) + for i in range(5): + value = str(i) + self.progressed.emit(value) + time.sleep(1) + self.finished.emit(value) + + class MyWidget(QWidget, Ui_myWidget): def __init__(self, parent=None): super().__init__(parent) self.setupUi(self) + self.button1.clicked.connect(self.hardWork1) + self.button2.clicked.connect(self.hardWork2) + + def hardWork1(self): + self.label1.setText('1 terminado') + + def hardWork2(self): + for i in range(5): + print(i) + time.sleep(1) + self.label2.setText('2 terminado') + if __name__ == '__main__': app = QApplication(sys.argv)