Python/QT

[python QT] 첫 번째 응용 만들기

언제나휴일 2020. 11. 19. 09:56
반응형

안녕하세요. 언제나휴일입니다.

파이썬으로 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를 이용하여 축약 표현을 사용하는 것을 선호합니다.

Visual Studio의 인텔리센스

2.2 QApplication 개체 생성 및 전달 인자

QT 위젯을 사용하려면 QApplication 개체를 먼저 생성해야 합니다.

app = qtwid.QApplication([])

다음 화면은 QApplication 개체를 생성하지 않았을 때 오류 화면입니다.

QApplication 개체를 생성하지 않았을 때

입력 인자로 문자열 리스트를 전달하는데 일반적으로 응용을 실행할 때 전달한 문자열 목록을 bypass합니다.

응용을 실행할 때 사용자가 전달한 문자열은 sys.argv에 문자열 목록 형태로 있습니다.

다음은 sys.argv 값을 출력하는 예제 및 실행화면입니다.

import sys
for arg in sys.argv:
    print(arg)

sys.argv 확인

대부분 첫번째 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 프로그램을 작성해 보았습니다.

반응형