본문 바로가기
공부/Python

PyQt5

by svcbn 2024. 11. 5.

09/10

 

PyQt5

Qt는 플랫폼에 관계없이 다양한 기능을 포함하는 c++ 라이브러리이자 개발툴.
PyQt5는 Qt5 어플리케이션 프레임워크의 파이썬 버전으로, 1000여개의 클래스들을 포함하는 파이썬 모듈의 모음.
Windows, Linux, macOS, Android, iOS 를 지원한다.

Winform 처럼 간단하게, 실행 파일을 만드는 데 필요한 레이아웃과 기능들을
미리 정의된 클래스들로 만들 수 있다.

그 종류와 간단한 가이드는 여기서 참고하면서 툴을 개발했다.

 

PyQt5 Tutorial - 파이썬으로 만드는 나만의 GUI 프로그램

## 소개 - 한국어로 되어있는 PyQt5 자료가 많지 않아서 아래의 여러 튜토리얼과 강의의 예제를 정리하며 시작했습니다. - **PyQt5의 설치**부터 시작해서, **…

wikidocs.net

 

 

PyInstaller

제작한 Python 파일 .py를 실행파일 .exe 로 간단하게 만들 수 있는 패키지.
실행파일로 만들게 되면, python 이 설치되어 있지 않은 pc에서도 프로그램을 실행할 수 있기 때문에,
배포를 위해서는 필수적인 과정.

pip install pyinstaller

명령프롬프트에서 위 명령어를 실행하면, PyInstaller 패키지가 설치된다.

사용도 간단한데, Python 파일이 있는 폴더로 이동해서

pyinstaller 작성한파일이름.py

위 명령어를 입력하기만 하면 해당 폴더에 실행파일이 만들어지고,
해당 폴더에서 dist << 로 이동하면 실행 파일을 찾을 수 있다.

여러 키워드를 추가하여 실행파일로 만들 때 옵션들을 조정할 수 있는데,
보편적으로 많이 사용하는 것은 -w 나 -F 등등이 있다.
사용은 작성 파일 앞에 붙여서

pyinstaller -w -F 작성한파일이름.py

와 같이 사용할 수 있다.

-w / --windowed : 실행파일을 실행할 때 콘솔창이 출력되지 않도록 할 수 있다.

-F / --onefile : 실행파일 하나에 모두 포함시켜 하나의 파일로 배포할 수 있다.

 

SPEC(옵션파일) 을 통해서도 설정을 바꿀 수 있는데,

added_files = [함께 가지고 가야하는 파일들]
a = Analysis([실행하는 코드 파일],
            pathex=[실행하는 코드 파일 경로],
            binaries=[],
            datas=added_files,
            hiddenimports=[강제로 가지고가는 라이브러리],
            hookspath=[],
            runtime_hooks=[],
            excludes=[],
            win_no_prefer_redirects=False,
            win_private_assemblies=False,
            cipher=block_cipher,
            noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
            cipher=block_cipher)
exe = EXE(pyz,
        a.scripts,
        [],
        exclude_binaries=True,
        name=프로그램 이름,
        debug=True,
        bootloader_ignore_signals=False,
        strip=False,
        upx=True,
        console=False,
        uac_admin=True,
        icon=아이콘 경로)
coll = COLLECT(exe,
            a.binaries,
            a.zipfiles,
            a.datas,
            strip=False,
            upx=True,
            upx_exclude=[],
            name=dist안 폴더이름)

SPEC 파일을 만들면 위와 같은 여러 파라미터들을 통해 더 세부적인 설정들을 조정할 수 있다.
위에 나온 간단한 명령어와 중복 사용은 안 되니 주의.