본문 바로가기

PyQt6

Pyinstaller 패키징 때 PyQt ui 파일 포함시키는 방법(여러개도 됨) 문제점 파이썬으로 GUI 프로그램을 만들 때 PyQt를 애용하고 있습니다. PyQt는 ".ui"라는 확장자를 사용하는 별도의 GUI 리소스 파일이 있어서 파이썬에서 이 UI파일을 읽어오기만 하면 되기 때문에 아주 편리하게 사용할 수 있습니다. 그래서 UI가 약간 수정이 있다 해도 메인 소스를 손댈 필요가 없어서 생산성 측면에서 큰 장점이 있습니다. 그런데 이렇게 별도의 UI 파일이 있는 프로그램은 Pyinstaller로 패키징 할 때 리소스 파일이 누락되어서 패키징이 제대로 되지 않을 때가 있습니다. 제가 경험해본 바로는 UI 파일을 스크립트에서 불러올 때 상대 경로로 접근하는 경우 Pyinstaller로 패키징 할 때 UI가 누락되는 걸 경험했습니다. 그래서 이런 경우는 UI파일을 참조할 때 절대 경로.. 2021. 7. 22.
PyQt5 오버레이 레이어 Ver.2 어제 업로드했던 오버레이 레이어의 업그레이드 버전입니다. PyQt5 오버레이 레이어 PyQt에서 특정 위젯을 오버레이 하는 레이어를 만드는 방법입니다. 아래 그림과 같은 윈도우에서 하단 PushButton을 누를 때마다 TextEdit창을 덮는 붉은색 레이어가 나타났다가 사라집니다. 먼저 Qt De kwonkyo.tistory.com 오버레이 레이어 구현 방법을 찾아보게 된 계기는 시간이 오래 걸리는 동작을 하고 있을 때 동작중임을 시각적으로 표현하고 사용자의 추가 입력을 제한해야 하는 상황에 사용하기 위해서였습니다. 그래서 좀 더 로딩 화면처럼 보이도록 수정한 버전입니다. 일정 시간 동안 로딩 동그라미가 돌아가고 동시에 잔여 카운터가 얼마인지 숫자로 표시되도록 만들어 봤습니다. 아래는 소스코드입니다. .. 2020. 12. 3.
PyQt5 오버레이 레이어 PyQt에서 특정 위젯을 오버레이 하는 레이어를 만드는 방법입니다. 아래 그림과 같은 윈도우에서 하단 PushButton을 누를 때마다 TextEdit창을 덮는 붉은색 레이어가 나타났다가 사라집니다. 먼저 Qt Designer로 GUI 폼을 만들어 줍니다. 여기서는 템플릿으로 위젯을 사용했습니다. 새 폼 만들기메뉴에서 "Widget"을 선택하고 생성을 눌러줍니다. "verticalLayout"안에 "pushButton"과 "textEdit"를 배치합니다. 그리고 폼 빈 공간에 마우스 우클릭하여 "배치 > 격자형으로 배치"를 선택합니다. 아래와 같은 폼 디자인이 완성되었습니다. 파일이름을 "overlay.ui"로 저장합니다. 이제 파이썬 코드를 작성해 줍니다. from PyQt5.QtCore import .. 2020. 12. 2.
[PyQt 파이썬 GUI프로그래밍] Layout으로 창크기에 따라 창요소 크기도 같이 조절되도록 하기 GUI프로그래밍을 도와주는 PyQt에서 창크기에 따라 내부 요소들의 크기들이 자동으로 변경될 수 있도록 하는 방법을 알아보겠습니다. PyQt의 Qt designer를 이용해서 다음과 같은 형태의 프로그램 UI를 디자인했습니다. 키워드를 맨위에 있는 박스에 입력하고 검색버튼을 누르면 아래에 결과가 나타나는 그런 동작을 수행할 UI되겠습니다. 위젯 구성은 다음과 같습니다. 메인 윈도우에 Grid Layout을 먼저 깔고 lineEdit, pushButton, tableWidget을 베치하였습니다. Grid Layout은 내부에 웨젯 배치를 손쉽게 해주기 위해서 그리드형태로 위젯의 위치에 대한 가이드를 잡아주는 역할을 합니다. 그래서 필요한 위젯을 드레그 해서 Grid Layout 위로 가져가면 상하좌우에 하.. 2019. 5. 21.
파이썬(Python) GUI 프로그래밍의 기본 (PyQt5 Dialog & Main Window 사용) 지난 포스팅에서 Python GUI프로그래밍의 묻지마 튜토리얼을 다룬적 있었습니다. PyQt5로 Python GUI 프로그래밍 시작하기 - Hello World! 출력 Hello world!, 모든 언어의 시작점이죠 지난글에서 준비해둔 파이썬 GUI 개발환경에서 Hello World 출력하기를 실습해 보겠습니다. 새 파이썬 프로젝트 생성 VS를 열어서 새로운 프로젝트를 생성합니다. 파이썬.. kwonkyo.tistory.com 그때는 저도 파이썬의 문법을 하나도 몰랐고 개념도 없었기 때문에 그냥 그런가 보다 했었는데요. 조금 공부를 해보니 코드의 의미가 보이기 시작해서 더 늦기전에 Pyqt5를 사용한 윈도우즈 프로그램의 소스구성에 대한 기본적인 내용을 다루어 보려 합니다. (이미 늦었고 아직도 이해안되는.. 2019. 4. 19.
[PyQt] PyQt5로 Python GUI 프로그래밍 시작하기 - Hello World! 출력 Hello world!, 모든 언어의 시작점이죠 지난글에서 준비해둔 파이썬 GUI 개발환경에서 Hello World 출력하기를 실습해 보겠습니다. 새 파이썬 프로젝트 생성 VS를 열어서 새로운 프로젝트를 생성합니다. 파이썬 응용프로그램 프로젝트를 선택합니다. 그리고 프로젝트가 저장될 위치와 프로젝트 이름 한번 확인해주고 프로젝트를 생성합니다. 프로젝트가 생성되면 아무것도 없는 빈문서가 나타나는데요, 프로그램 기반이 마련되었습니다. PyQt로 프로그램 GUI 만들기 이제 PyQt의 디자이너(Designer)프로그램을 열어서 화면에 출력할 창을 디자인 해보겠습니다. 디자이너가 어디 깔려있는지 찾는것도 일인데요. VS에서 PyQt를 설치하면 다음의 경로에 설치가 되는걸 확인 했습니다. C:\Program Fi.. 2019. 1. 30.