본문 바로가기
반응형

PyQt52

QThread 분산처리 : 작업처리후 자동소멸 PyQt5 GUI환경에서 작업이 비동기적으로 실행되어야 하거나, 분산처리 되어야 할 경우 Threading.Thread() 보다는 PyQt5.QtCore.QThread()를 이용하는 것이 바른 선택인것 같다. 왜냐하면 PyQt5 GUI 환경하에서 Threading.Thread 오브젝트가 작업량이 많아 시간이 수초 이상 소요되는경우에는 GUI 환경이 종종 '응답없음' 상태로 빠지기 때문이다. 이번 코드는 QThread로 정의된 쓰레드 워커(worker)들을 실행하면 스스로 실행을 마친 후 소멸하도록 한다. 필요한 모듈들 import sys from PyQt5.QtCore import QThread, QMutex from PyQt5.QtWidgets import QApplication QThread 만들기 .. 2021. 11. 5.
사용자 정의 시그널-슬롯 pyQt5기반의 파이썬 GUI 프로그래밍에는 시그널과 슬롯 이라는 개념이 있다. 예컨데 버튼을 클릭하는 순간 버튼이 클릭되었다는 시그널(이벤트 시그널)이 발생되고, 그 때 실행할 함수를 슬롯(콜백함수) 이라 한다. pyQt5에서 제공하는 모든 GUI 객체들은 제 나름대로의 필요한 시그널 들이 정의 되어 있다. 여기서는 사용자 정의 시그널을 만들고 사용해 본다. 참조문서 Support for Signals and Slots - PyQt 5.7 Reference Guide Qt의 주요 기능 중 하나는 시그널과 슬롯을 사용하여 객체간에 통신하는 것. 시그널이 발생하면 그 때 실행해야할 함수가 실행된다. 그 함수를 슬롯이라 한다. 이것이 가능하도록 시그널과 슬롯을 연결하여야 한다. signal/slot 메커니즘.. 2021. 5. 14.
반응형