[PyQt] 기초
PyQt 는 파이썬으로 GUI를 생성하기 위한 툴키트 중 하나이다.
GUI ? Graphical User Interface. 그래픽 요소를 통해 사용자와 컴퓨터 간에 인터페이스를 구현한 방식.
파이썬에서 GUI를 만드는 방법은 몇 가지 있다.
1. PySimpleGUI 이용
2. PyQt5 이용 (아나콘다 공식 제공)
3. TkInter 이용 (파이썬 기본 제공)
엑셀 수정 파일은 PySimpleGUI를 이용해서 만들었었다.
PyQt5가 책도 있고 더 넓게 사용되는 것 같으니 PyQt도 사용해보도록 한다.
Terminal 창에
pip install pyqt5
를 입력해 PyQt를 설치한다. (회사에서 설치 시 명령어 뒤에
아래를 추가해준다. ※ pip 설치 시 SSL Error 참조 )
--trusted-host pypi.org --trusted-host files.pythonhosted.org
pip install pyqt5-tools
를 설치해주면 GUI를 만드는데 유용한 designer.exe 파일을 받을 수 있다고 하는데..
설치가 안되고 오류가 떠서 그냥 아나콘다를 받았다 (*아나콘다 설치 시 기본 포함)
회사 컴의 경우
C:\ProgramData\Anaconda3\Library\bin
경로의 designer.exe 를 실행한다.
창 띄우기
import sys
from PyQt5.QtWidgets import *
app = QApplication(sys.argv)
label = QLabel("Hello PyQt")
label.show()
app.exec_()
1. sys 모듈 임포트 (별도의 설치 필요 없다.)
2. PyQt5 디렉토리의 QtWidgets 파일에 있는 모든 것 (*) 을 임포트 (C:\Users\M\PycharmProjects\pythonProject\venv\Lib\site-packages\QtWidgets.pyd)
3. QApplication 이라는 클래스의 객체를 생성, app라고 명명.
sys.argv 값은 현재 소스코드에 대한 절대 경로이다. QApplication 클래스의 인스턴스를 생성할 때 생성자로 이 값을 전달해야함.
4. QLabel 이라는 클래스의 객체를 형성.
5. show() 메서드를 통해 창 라벨로 텍스트 출력
6. app을 무한루프로 실행 (execute - 한번 실행하고 끝나는게 아니라 사용자가 끌 때까지 창을 유지시켜주는 역할)