3. PyQT?
• QT
The Qt Company에서 개발한 C++ 기반의
오픈소스 크래스 플랫폼 GUI 프레임워크
• PyQT
C++ 기반인 QT를 파이썬에서 사용할 수 있도록 잘~ 포장한 QT의 파이썬 바인딩
4. 왜 QT?
• 멀티 플랫폼 대응
• Window
• Linux
• MacOS
• Embedded Linux
• Andriod
• 기타 등등
• 문서 잘 되어있음
• 레퍼런스 많음
• 다양한 라이브러리 지원 (Network,Web view, DB, Parser 등등)
5. • QT Creator라는 생각보단 쓸만한? IDE 지원
• QT Designer GUI 에디터로 빠르게 UI 디자인 구성
왜 QT?
11. Qt GUI 관련 모듈
• Qt Core : 모든 Qt 어플리케이션에 기본 포함
각종 컨테이너와 Iterator 구현 포함
• Qt Widgets : C++기반의 GUI 클래스 모음
• Qt WebEngine : HTML5/CSS/JavaScript를 이용한 웹 UI개발
12. Qt GUI 관련 모듈
• Qt QML : Qt Quick 모듈에서 사용하는 마크업 언어
• JavaScript V8엔진 사용
• OpenGL, Vulkan등으로 렌더링 됨
• JavaScript 활용 가능하여 생산성이 높고 반응형 UI 구성 용이
• 대신 메모리를 많이 먹고 성능이 많이 떨어짐
• C++ 코드와 Binding 지원
• C++과는 많이 동떨어져있다고함
13. PyQt 개발환경 셋팅
• 파이썬 3.8.x혹은 3.9.x버전 설치
(https://www.python.org/downloads/)
최신 버전인 3.10은 호환성에 문제가 있는듯…
• 파이썬 IDE 설치 (Pycharm)
https://www.jetbrains.com/ko-
kr/pycharm/download/#section=windows
14. PyQt 개발환경 셋팅
• PyCharm에서 패키지 설치
or
• 터미널에서
pip install PyQt5
pip install pyqt5designer
16. QT 디자이너에서 작업된 파일은 .ui 확장자로 저장되는데
사실 그냥 XML임
다만 PyQt에서 해당 파일을 로드해 사용할때는
해당 XML을 파싱해 .py 파일로 변경후 import됨
17. QT 디자이너로 만든 UI 로드
(XML을 py 파일로 파싱해서 로드함)
Qapplication : 위젯의 초기화와 종료 등을 담당하는 객체
모든 QT 어플리케이션은 반드시 유일한 QApplication을 가지고 있음
QApplication객체 생성
위젯 객체 생성
위젯 보여주기
이벤트 루프