목록2025/05/05 (2)
프로그래밍 공부
Qt QThread vs Python 기본 스레드 (threading.Thread)Qt로 GUI 애플리케이션을 개발할 때, 병렬 처리를 위해 사용할 수 있는 두 가지 대표적인 방식이 있다:Qt의 QThreadPython의 threading.Thread이 둘은 모두 병렬 작업을 위한 스레드를 생성하지만, UI 연동, 이벤트 처리, 스레드 안전성 측면에서 중요한 차이를 가지고 있다.핵심 비교 표항목Qt (QThread)Python (threading.Thread)기반 구조Qt 프레임워크 내부의 스레드 객체Python 표준 라이브러리UI 연동Signal/Slot으로 UI와 안전하게 통신직접 UI 접근 시 충돌 위험이벤트 루프자체 이벤트 루프 보유 (타이머, 슬롯 등 가능)이벤트 루프 없음 (단순 실행)QObj..
회사에 입사하고 나서, PySide2 + QML을 통해 주어진 과제를 진행 도중 통신을 해야 할 일이 있었는데평소대로 프로그램을 진행 했더니 내가 의도한대로 프로그램이 실행되지 않았다.그래서 문제를 찾아보니 스레드를 통해 프로그램을 진행하면 문제를 해결 할 수 있다는 정보를 찾았고, 이것을 적용해 문제를 해결 했었다. 하지만 왜 스레드를 사용해야 하는지 궁금해서 정보를 조사해보고 여기에 정리 한다.QML 프로그램은 왜 항상 메인 스레드에서 실행되어야 할까?Qt를 활용해 QML UI를 개발하다 보면 흔히 접하게 되는 문장이 있다:"QML UI는 반드시 메인 스레드(GUI 스레드)에서 실행되어야 한다."하지만 왜 그래야 할까? 멀티스레드 환경에서 UI 요소를 접근하면 정말 위험한 걸까?이번 글에서는 QML의..