[Python | GUI ] 1. PyQt6, Qt Designer를 이용한 GUI 프로그래밍
[Python | PyQt6 ] 1. PyQt6, Qt Designer를 이용한 GUI 프로그래밍
목차
- 1. PyQt6로 Qt Designer 설치하기
- 2. PySide6로 Qt Designer 설치하기
- 3. Qt Designer 사용 예제
- 4. 마무리
Python GUI 프로젝트를 진행하면서 인터페이스를 시각적으로 설계할 도구가 필요하다면, Qt Designer는 강력한 솔루션입니다. 이번 포스팅에서는 PyQt6와 PySide6를 사용하여 Qt Designer를 설치하고 실행하는 방법을 소개합니다.
1. PyQt6로 Qt Designer 설치하기
1-1. 필수 패키지 설치
아래 명령어를 터미널에서 실행하여 PyQt6와 관련 도구를 설치합니다.
pip install pyqt6
pip install pyqt6-tools
1-2. Qt Designer 실행
설치가 완료되면, 아래 명령어를 터미널에서 입력하여 Qt Designer를 실행할 수 있습니다.
qt6-tools designer
2. PySide6로 Qt Designer 설치하기
2-1. 필수 패키지 설치
PySide6 패키지를 설치하려면 터미널에서 아래 명령어를 실행하세요.
pip install pyside6
2-2. Qt Designer 실행
설치 후, 아래 명령어를 터미널에 입력하여 Qt Designer를 실행할 수 있습니다.
pyside6-designer
3. Qt Designer 사용 예제
3-1. Widget 생성
Qt Designer를 실행하게되면, 다음과 같이 새 폼의 템플릿을 설정할 수 있는 창이 나옵니다.
저희는 Widget을 예제로 생성해보겠습니다. 템플릿 별 특징은 아래 표 참고해주세요.
3.2 템플릿별 특징
템플릿 이름 | 사용 용도 | 특징 |
---|---|---|
Widget | 단순한 UI 설계 및 독립형 컴포넌트 | 메뉴 바, 상태 표시줄 없음 |
Main Window | 애플리케이션의 메인 화면 | 메뉴 바, 도구 바, 상태 표시줄 포함 |
Dialog | 사용자와의 상호작용 창 | 확인, 취소 등의 버튼 추가 가능 |
Dialog with Buttons Bottom | 버튼이 포함된 기본 대화 상자 | 하단에 버튼이 자동 배치됨 |
Splash Screen | 애플리케이션 로드 화면 | 로고 및 간단한 메시지 표시 가능 |
Wizard | 단계별 작업 화면 | 여러 단계로 구성된 작업 흐름 제공 |
3.3 Button 추가
폼이 생성되는데, 이 폼에 드래그 & 드랍을 통해 다음과 같이 Push Button을 하나 추가해보겠습니다.
저희는 간단한 Qt Designer 사용법만 짚고 넘어갈 예정이기에, 속성과같은 자세한 내용은 이번 포스팅에서는 다루지 않겠습니다.
3.4 UI 파일 저장
"Ctrl + R"은 미리보기 단축키로, 누른 뒤 보이는 UI가 마음에 든다면 저장합니다.
[File] -> [Save] 를 눌러 저장하거나 "Ctrl + S" 저장하기 단축키를 눌러 저장할 수 있습니다.
저는 "push_button.ui"로 저장하였습니다.
3.5 XML to Python
이 UI파일을 열어보면 XML로 구성되어있는데, 이 파일을 파이썬에서 사용하기 위해 XML 코드를 파이썬 코드로 변환하는 것이 필요합니다.
PyQt6-tools를 설치하셨다면, PyQt6는 XML로 구성된 UI 파일을 파이썬 코드로 변환하는 pyuic.py라는 프로그램을 제공합니다.
가상환경을 사용하고 있다면, 프로젝트의 가상환경 속 "Lib/site-packages/PyQt6/uic"/에 저장했던 ui파일을 넣어줍니다.
ui파일을 해당 디렉토리에 넣었다면, 명령 프롬프트에 해당 위치에 들어가서, 아래 명령어를 수행합니다.
python -m PyQt6.uic.pyuic -x push_button.ui -o push_button.py
성공적으로 수행되었다면, python 파일이 생긴것을 확인하실 수 있습니다.
만약 오류가 나신다면, pyqt6-tools를 다시 설치해보시길 바랍니다.
3.6 생성된 python 파일 실행
생성된 python 파일을 실행하여 UI를 확인해봅니다.
4. 마무리
이제 Qt Designer를 사용하여 GUI를 시각적으로 설계하고 Python 코드와 통합할 수 있습니다. PyQt6와 PySide6 중 프로젝트에 적합한 도구를 선택해 사용해 보세요.
이번 시간에는 Qt Designer를 통해 GUI를 설계하고, UI파일을 생성하여 Python으로 변환하여 사용해보았는데, 다음 시간에는 UI 파일을 파이썬 코드로 변환하지 않고 사용하는 방법을 알아보겠습니다.
궁금한 점이나 추가적인 도움말이 필요하다면 댓글로 남겨주세요! 😊