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 기반의 클래스로 구현된 파일을 실제 로직에 활용

 

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 적용