반응형
import sys
from typing import Counter
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
class MyWindow(QDialog):
def __init__(self, parent=None):
super().__init__(parent)
# setting ui
self.text_edit = QTextEdit(self)
self.text_edit.setEnabled(True)
box_layout = QVBoxLayout()
box_layout.addWidget(self.text_edit)
self.setLayout(box_layout)
# start thread
self.myThread = Worker(parent=self)
self.myThread.count_changed.connect(self.update_count) # custom signal from worker thread to main thread
self.myThread.start()
#@pyqtSlot(int)
def update_count(self, count):
self.text_edit.append(str(count))
class Worker(QThread):
count_changed = pyqtSignal(int)
def __init__(self, parent=None):
super().__init__()
self.main = parent
self.working = True
self.count = 0
def run(self):
while self.working:
self.count_changed.emit(self.count)
self.sleep(1)
self.count += 1
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MyWindow()
window.show()
app.exec_()
- git hub code
github.com/Helloezzi/qt_ui_access_from_external_thread
Helloezzi/qt_ui_access_from_external_thread
Contribute to Helloezzi/qt_ui_access_from_external_thread development by creating an account on GitHub.
github.com
실행화면
반응형
'Programing > python' 카테고리의 다른 글
[python] country code 가지고 오기 (0) | 2021.05.11 |
---|---|
python 외부 ip 주소 가지고 오기 (0) | 2021.05.11 |
OpenGL in python : create window (0) | 2021.03.15 |
[python] file io 연습 (0) | 2020.02.24 |
[python] class reference (from ~ import) (0) | 2020.02.22 |