본문 바로가기
코드보관소/Python

[pyqt] pyinstaller .ui 포일 포함시키기

by 위치결정 2021. 7. 30.
반응형

# PySide 를 사용하는 경우

import os
import sys

from PySide6.QtWidgets import *
from PySide6.QtCore import Qt
from PySide6 import QtUiTools

# pyinstaller .ui 파일 포함
def resource_path(relative_path):
    """ Get absolute path to resource, works for dev and for PyInstaller """
    base_path = getattr(sys, '_MEIPASS', os.path.dirname(os.path.abspath(__file__)))
    return os.path.join(base_path, relative_path)

form = resource_path('kakao_sender.ui')
form_class = QtUiTools.loadUiType(form)[0]

# PyQt5 를 사용하는 경우

import sys
import os

from PyQt5.QtWidgets import *
from PyQt5.QtCore import Qt
from PyQt5 import uic

def resource_path(relative_path):
    """ Get absolute path to resource, works for dev and for PyInstaller """
    base_path = getattr(sys, '_MEIPASS', os.path.dirname(os.path.abspath(__file__)))
    return os.path.join(base_path, relative_path)

form = resource_path('untitled.ui')
form_class = uic.loadUiType(form)[0]

 

 

 

pyinstaller test.py --onefile --noconsole

 

a = Analysis(['test.py'],
            ...
            datas=[ ('untitled.ui', '.') ],
            ...)

 

pyinstaller test.spec

반응형

댓글