변혁적인 삶

[Python | GUI ] 2. UI 파일을 Python에서 직접 로드하여 사용하기 본문

프로그래밍/Python

[Python | GUI ] 2. UI 파일을 Python에서 직접 로드하여 사용하기

revolutionarylife 2024. 11. 27. 09:17
반응형

[Python | PyQt6 ] 2. UI 파일을 Python에서 직접 로드하여 사용하기

목차

  • 1. UI 파일을 직접 로드하는 이유
  • 2. uic.loadUiType() 활용
  • 3. UI 변경 시 유의점
  • 4. 마무리

이번 포스팅에서는 PyQt6를 사용하여 UI 파일을 파이썬 코드로 변환하지 않고 직접 로드하는 방법을 알아보겠습니다.

PyQt6의 uic.loadUiType()을 활용한 방법을 중점적으로 다룹니다.


1. UI 파일을 직접 로드하는 이유

UI 파일을 XML에서 Python 코드로 변환하는 대신, 직접 로드하면 아래와 같은 장점이 있습니다:

  • UI 변경 사항이 즉시 반영됩니다.
  • 변환 과정에서 발생할 수 있는 오류를 줄일 수 있습니다.
  • 복잡한 인터페이스를 반복적으로 수정해야 할 때 효율적입니다.

2. uic.loadUiType() 활용

2-1. UI 파일 로드

PyQt6의 uic.loadUiType()은 UI 파일을 Python 클래스로 변환하지 않고 바로 로드할 수 있습니다. 아래 코드를 참고하세요:

from PyQt6 import uic 
from PyQt6.QtWidgets import QApplication, QMainWindow

# UI 파일 로드
form_class = uic.loadUiType("./ui/push_button.ui")[0]

class MyWindow(QMainWindow, form_class): 
	def init(self): 
    	super().init() 
    	self.setupUi(self) # UI 초기화
    
if __name__ == "__main__":
    app = QApplication(sys.argv)
    myWindow = MyWindow()
    myWindow.show()
    app.exec_()

2-2. 실행 결과

위 코드를 실행하면, push_button.ui에 정의된 UI가 그대로 로드되어 표시됩니다. UI 변경 시, XML 파일을 수정하고 저장한 뒤 다시 실행하기만 하면 됩니다.


3. UI 변경 시 유의점

UI 파일을 직접 로드할 경우, UI 파일의 경로를 항상 확인해야 하며, UI를 수정한 후 저장을 잊지 않아야 합니다. 그렇지 않으면 이전 버전이 그대로 로드됩니다.


4. 마무리

이번 포스팅에서는 PyQt6의 `uic.loadUiType()`를 활용하여 UI 파일을 직접 로드하는 방법을 살펴보았습니다. 이 방법은 빠르게 UI를 테스트하고 변경 사항을 즉시 반영할 때 유용합니다. 다음 시간에는 동적 이벤트 처리를 통해 버튼 클릭 시 동작을 추가하는 방법을 다뤄보겠습니다. 😊

반응형