안녕하세요. 언제나휴일입니다.
파이썬으로 GUI(Graphic User Interface) 프로그램을 작성할 때 QT라이브러리를 많이 사용합니다.
파이썬에서 QT라이브러리를 사용할 수 있게 제공하는 다양한 모듈 중에 여기에서는 PyQt5를 사용할게요.
PyQt5모듈이 설치 전이라면 먼저 설치하세요.
1. 첫 번째 응용 만들기
파이썬 소스 파일에 다음처럼 코드를 작성하시고 실행시켜 보세요.
import PyQt5.QtWidgets as qtwid
app = qtwid.QApplication([])
mw = qtwid.QMainWindow()
mw.setWindowTitle("FirstQTApp")
mw.show()
app.exec_()
다음과 같은 창이 뜨는 것을 알 수 있어요.
2. 소스 설명
2.1 라이브러리 포함(모듈 포함)
import PyQt5.QtWidgets as qtwid
QT에서 버튼, 레이블, 창, 대화상자 등을 위젯이라고 부릅니다. 이들을 사용하기 위해 import를 명시합니다.
많은 이들은 from PyQt5.QtWidgets import * 처럼 표현하고 있습니다.
개인적으로 개발도구의 인텔리센스을 최대한 사용하기 위해 from을 생략하고 import만 명시하고 대신 as를 이용하여 축약 표현을 사용하는 것을 선호합니다.
2.2 QApplication 개체 생성 및 전달 인자
QT 위젯을 사용하려면 QApplication 개체를 먼저 생성해야 합니다.
app = qtwid.QApplication([])
다음 화면은 QApplication 개체를 생성하지 않았을 때 오류 화면입니다.
입력 인자로 문자열 리스트를 전달하는데 일반적으로 응용을 실행할 때 전달한 문자열 목록을 bypass합니다.
응용을 실행할 때 사용자가 전달한 문자열은 sys.argv에 문자열 목록 형태로 있습니다.
다음은 sys.argv 값을 출력하는 예제 및 실행화면입니다.
import sys
for arg in sys.argv:
print(arg)
대부분 첫번째 QT 응용 프로그램의 소스 코드도 다음과 같은 코드를 소개합니다.
import sys
import PyQt5.QtWidgets as qtwid
app = qtwid.QApplication(sys.argv)
mw = qtwid.QMainWindow()
mw.setWindowTitle("FirstQTApp")
mw.show()
app.exec_()
2.3 위젯 생성
여기에서는 위젯 중에서 QMainWIndow를 생성하였습니다.
그리고 타이틀 바에 표시할 제목을 설정하고 화면에 시각화를 하였습니다.
mw = qtwid.QMainWindow()
mw.setWindowTitle("FirstQTApp")
mw.show()
2.4 QApplication 개체 실행
QApplication 개체를 실행시켜야 프로세스가 죽지 않고 위젯이 닫힐 때까지 살 수 있어요.
app.exec_()
마지막 코드를 주석 처리해서 실행해 보세요.
창이 뜨자마자 바로 끝나는 것을 확인할 수 있을 거예요.
이상으로 첫 번째 Python으로 QT 프로그램을 작성해 보았습니다.
'Python > QT' 카테고리의 다른 글
[python QT] 리스트 위젯 사용하기 (0) | 2020.11.19 |
---|---|
[python QT] Button 클릭하면 TextEdit에 입력 내용을 Label에 표시 (0) | 2020.11.19 |
[python QT] 마우스 클릭 이벤트 핸들러에서 배경색 토글 (0) | 2020.11.19 |
[python QT] 나의 윈도우 클래스 만들기 (0) | 2020.11.19 |