본문 바로가기

프로그래밍

QtDesigner로 만든 .ui파일을 .py로 바꾸지 않고 사용하기

QtDesigner로 만든 파일을 매번 python을 위해 바꾸는 건 고통스러운이다.
과거에 UI 바꾸고 컴파일하고 주입하고 하면서 노가다를 했었는데 정말 번거로웠다.
 
만든 ui파일을 넣고 그대로 사용하는 방법을 찾았다.
 
핵심은 uic를 import하고, 상속받은 클래스에서 ui 설정함수를 호출하는 것이다.
 
 
import sys
from PyQt5.QtWidgets import *
from PyQt5 import uic

test_ui_class = uic.loadUiType("../ui/test_window.ui")[0]

class TestWindow(QMainWindow, test_ui_class):
    def __init__(self):
        super().__init__()
        self.setupUi(self)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    test_window = TestWindow()
    test_window.show()
    app.exec_()
 
프로젝트에서 ui를 담는 소스에 파일을 두지 않고 다른 ui 디렉터리에 파일을 넣었기 때문에 위같이 설정했다.



너무 편하다. 현타가 온다.