-
PyQt5 라이브러리python 2025. 12. 8. 15:14
PyQt5 라이브러리는 많은 것을 지원하지만, 다른 라이브러리보다 뛰어난 기능은 GUI기능이다. 운영체제에 상관없이 코드 호환성이 거의 100%이다.
기본적인 창 띄우기:
import sys from PyQt5.QtWidgets import QApplication, QWidget class MyApp(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setWindowTitle("내가 만든 창") self.move(500, 100) self.resize(400, 200) self.show() if __name__ == "__main__": app = QApplication(sys.argv) ex = MyApp() app.exec_()그리드 레이아웃으로 적절한 레이아웃 만들기:

import sys from PyQt5.QtWidgets import * from PyQt5.QtGui import QIcon class MyApp(QMainWindow): def __init__(self): super().__init__() self.initUI() def initUI(self): centralWidget = QWidget() self.setCentralWidget(centralWidget) mainGrid = QGridLayout() centralWidget.setLayout(mainGrid) leftGrid = QGridLayout() leftGrid.addWidget(QLabel('title'), 0, 0) leftGrid.addWidget(QLabel('author'), 1, 0) leftGrid.addWidget(QLabel('review'), 2, 0) leftGrid.addWidget(QLineEdit(), 0, 1) leftGrid.addWidget(QLineEdit(), 1, 1) leftGrid.addWidget(QTextEdit(), 2, 1) rightGrid = QGridLayout() btn = QPushButton('버튼', self) btn.clicked.connect(self.buttonF) rightGrid.addWidget(btn, 3, 0) mainGrid.addLayout(leftGrid, 0, 0) mainGrid.addLayout(rightGrid, 0, 1) self.setWindowTitle("내가 만든 창") self.move(500, 100) self.statusBar().showMessage('statusbar') self.show() def buttonF(self): print("버튼 클릭됨") if __name__ == "__main__": app = QApplication(sys.argv) ex = MyApp() app.exec_()여러 위젯과 시그널:
https://wikidocs.net/21933에 보면 여러 위젯과 해당 위젯의 시그널을 설명해주고 있다.
버튼, 체크박스, 콤보박스, 텍스트 브라우저 등 다양한 위젯을 볼 수 있다.
시그널 메소드.connect를 하면 해당 시그널이 일어났을 때 실행해야할 함수를 지정할 수 있다. 예를들어 버튼 클릭이 일어났을 때, btn.clicked.connect(funcA) 를 하면 btn이 클릭되었을 때 funcA가 실행된다.
참고: https://pypi.org/project/PyQt5/
https://wikidocs.net/book/2165
https://wikidocs.net/book/2944
-
'python' 카테고리의 다른 글
파이썬 소켓 통신 (0) 2025.12.03 asyncio 라이브러리 (0) 2025.08.23 selenium v4.0 (python) (0) 2023.04.10 파이썬 sorted 정렬 조건 정해주기 (0) 2022.07.08 파이썬 리스트 인덱스 여러개 찾기 (0) 2022.06.30