3.4 UI 디자이너 기반, GUI 개발 이해

1. GUI 있는 애플리케이션 개발 방식
더보기
A. 소스 코드 기반
- Source Code .py 파일 ▶ UI 구현
- 위젯 생성, 레이아웃, 시그널/슬롯 연결, 로직까지 전부 Python/C#/C++ 코드로만 작성
B. UI 디자이너(WYSIWYG) 기반
- (1) UI Designer ▶ (2) HTML, XAML, 태그 (.ui 파일) ▶ (3) Source Code (.py 파일) ▶ (4) UI 구현
- (1) UI Designer
Qt Designer, WinForms Designer, WPF 디자이너, Android Studio Layout Editor처럼
드래그&드롭으로 화면을 구성하고 - (2) .ui 파일로 저장하고
- (3) uic 변환 툴이 .ui, .xaml, .designer.cs 같은 ui 파일/코드를 .py 파일로 생성하고
(PySide6에서 form.ui → ui_form.py 만드는 방식) - (4) .py 기반의 클래스로 구현된 파일을 실제 로직에 활용
- (1) UI Designer
C. 실무
- 소스 코드 + UI 디자이너(WYSIWYG)
- 실무에서는 둘을 섞어서 쓰는 하이브리드 방식이 일반적입니다.
D. 목표
- PySide6 및 파이썬 기반 GUI 어플리케이션 구현은,
일반적인 GUI 디자이너를 활용한 개발 방식과 다른 부분이 있어 이 점부터 이해해야 합니다. - 우선 소스 코드 기반 방식부터 이해합니다.
2. UI 디자이너(WYSIWYG) 란?
3. (1) UI Designer ▶ (2) HTML, XAML, 태그 (.ui 파일)
: PySide6의 UI designer사용하기
4. (2) HTML, XAML, 태그 (.ui 파일) ▶ (3) Source Code (.py 파일)
더보기





pyside6-uic window.ui -o mainwindow.py

이전 포스트(3.3 소스 코드 기반, GUI 개발 이해)의 5.QPushButton 파트의 코드와 비교해봅니다.
5. (3) Source Code (.py 파일) ▶ (4) UI 구현
더보기




이전 포스트(3.1 파이참에서 PySide6 실행하기)에서 제일 처음 실행했던 예제를 가져와 수정합니다.

import sys
from PySide6.QtWidgets import QApplication, QWidget
app = QApplication(sys.argv)
widget = QWidget()
widget.show()
sys.exit(app.exec())

from mainwindow import Ui_Form

widget = QWidget() # QWidget 생성
ui = Ui_Form() # UI 생성
ui.setupUi(widget) # UI 적용






