Programming/Python
PyQt5 - python(파이썬 pyqt)
Imaspear
2020. 12. 27. 16:15
728x90
대충 간단하게 PyQt5를 실행하는 모습을 보도록 하겠습니다.
import sys
from PyQt5.QtWidgets import *
app = QApplication(sys.argv)
label = QLabel("Hello, PyQt")
label.show()
# event loop
print("start")
app.exec_()
print("end")
이 파일을 실행하면 start를 출력하고 app이 시작됩니다.
실행되고 있는 도중에는 end라는 함수가 출력되지 않습니다. 그 이유는 exec_() 함수 때문에 이벤트가 종료될 때까지 이후의 명령어들은 대기해야 하는 상태이기 때문입니다.
app을 지워야 end가 출력됩니다.
import sys
from PyQt5.QtWidgets import *
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("Title")
# setUI 함수 호출
self.setUI()
def setUI(self):
# 이벤트 창 크기 지정
self.setGeometry(100, 100, 300, 400)
# 라벨 생성
self.label = QLabel("click me", self)
# 라벨 위치 지정
self.label.move(20, 10)
# 버튼 생성
btn = QPushButton("push", self)
# 버튼 위치 지정
btn.move(20, 30)
# 파이썬 파일을 실행했을 떄 바로 실행되도록 설정함
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
app.exec_()
위 코드를 실행하면 아래의 이벤트 창을 생성합니다. 특별한 기능을 넣지 않았으므로 push 버튼을 눌러도 아무 것도 실행되지 않습니다..