Python으로 GUI 프로그램을 만들고 싶지만 어디서부터 시작해야 할지 막막하셨나요?
이 글에서는 PySide6를 활용해 GUI 프로그램을 만드는 초기 과정을 단계별로 소개합니다.
디자인부터 이벤트 처리까지, 따라만 하면 나만의 프로그램이 완성됩니다!
1. UI 디자인: QtDesigner로 시작하기
GUI의 외형은 QtDesigner를 사용해 손쉽게 만들 수 있어요.
드래그 앤 드롭 방식으로 버튼, 텍스트박스 등을 배치하고 `.ui` 파일로 저장합니다.
2. UI 파일을 Python 코드로 변환하기
디자인한 `.ui` 파일을 Python에서 사용할 수 있도록 변환해줘야 합니다.
터미널에서 아래 명령어를 실행하세요:
pyside6-uic xxx.ui -o xxx.py
이제 UI가 Python 코드로 변환되어 연동 준비 완료!
3. MainWindow에 UI 연동하기
이제 본격적으로 프로그램의 메인 윈도우를 만들어볼게요.
from PySide6.QtWidgets import QMainWindow from ui.ui_main import Ui_MainWindow class MainWindow(QMainWindow): def init(self): super(MainWindow, self).init() self.ui = Ui_MainWindow() self.ui.setupUi(self) self.setWindowTitle("PLC Emulator v1.0") self.show()
setupUi(self)를 통해 UI 요소들이 MainWindow에 연결됩니다.
4. 프로그램 실행하기
이제 프로그램을 실행할 준비가 되었어요! main.py를 만들어 아래처럼 작성해보세요:
from PySide6.QtWidgets import QApplication from ui.MainWindow import MainWindow import sys if name == 'main': app = QApplication(sys.argv) window = MainWindow() sys.exit(app.exec())
실행은 간단하게:
python main.py
5. 버튼 등 컨트롤 이벤트 등록하기
UI에 있는 버튼이나 입력창에 이벤트를 연결해보세요. 예를 들어, 새로고침 버튼을 눌렀을 때 동작하도록 설정하려면:
class MainWindow(QMainWindow): def __init__(self): ... self.ui.pushButton_refresh.clicked.connect(self.refreshPressed) ... def refreshPressed(self): print("refreshPressed was invoked")
이렇게 하면 버튼 클릭 시 refreshPressed 함수가 실행됩니다!
마무리하며
이 튜토리얼을 따라하면 PySide6 기반의 GUI 프로그램을 처음부터 끝까지 만들 수 있어요. 디자인부터 이벤트 처리까지, 하나씩 구현해보며 나만의 프로그램을 완성해보세요!
0개의 댓글