[PyQt5] PyCharm에서 UI 포함 exe 실행 파일 만들기

PoemSilver·2023년 1월 3일
0

자동화 GUI(PyQt5)

목록 보기
1/2

PyQt5 모듈을 사용하면 Python으로 간단하게 GUI 프로그램을 개발할 수 있다.

하지만 PyQt5 Designer로 만든 UI를 개발한 프로그램에서 읽어올 수 없다는 에러가 발생할 수 있다.

파이참에서는 잘 작동되지만, pyinstaller로 exe 실행파일을 생성하고, 생성된 실행파일을 실행시켜보면 UI를 불러올 수 없다는 에러가 뜨면서
정상적으로 작동하지 않는다.

🫲 파이썬 코드에 UI 불러오기 🫱

아래는 내가 만들어본 간단한 test용도의 코드인데, 아래처럼 ui를 불러와주는 코드를 포함시킨다.

BASE_DIR = os.path.dirname(os.path.abspath(__file__))
form_class, QtBaseClass = uic.loadUiType(BASE_DIR + r'\UI명.ui')

class MyWindow(QMainWindow, form_class):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        .
        .
        .
        
if __name__=="__main__":
    app = QApplication(sys.argv)
    myWindow = MyWindow()
    myWindow.show()
    app.exec_()  


🎨 pyinstaller 후 .spec 수정

pyinstaller -w -F 파일명.py

그러면 파일명.spec 이 생성되는데 이 파일을 열어 아래 형광펜 친 부분을 추가 및 수정해주면 된다. 불러올 ui가 여러 개라면 아래와 같이 계속 추가 할 수 있다.

ui = [('ui명.ui', '.'), ('ui명2.ui', '.')]
.
.
datas =ui

혹은

datas = [('ui명.ui', '.'), ('ui명2.ui', '.')]

으로 변경해주면 된다.


내 test 파일의 .spec은 다음과 같이 설정했다.

그 후 마지막으로 다시 터미널에서

pyinstaller 파일명.spec

하면 UI를 포함시킨 exe 실행파일을 정상적으로 만들 수 있다.

0개의 댓글