728x90
반응형
SMALL
창 닫기 버튼
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton
from PyQt5.QtCore import QCoreApplication
class MyApp(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
btn = QPushButton('Quit', self)
btn.move(50, 50)
btn.resize(btn.sizeHint())
btn.clicked.connect(QCoreApplication.instance().quit)
self.setWindowTitle('Quit Button')
self.setGeometry(300, 300, 300, 200)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MyApp()
sys.exit(app.exec_())
코드 | 설명 |
btn = QPushButton('Quit', self) | - 푸시 버튼 생성 - 버튼 (btn)은 QPushButton 클래스의 인스턴스 - 생성자 QPushButton()의 첫 번째 변수에는 버튼에 표시될 텍스트를 입력하고, 두 번째 변수에는 버튼이 위치할 부모 위젯을 입력 |
btn.clicked.connect(QCoreApplication.instance().quit) | - PyQt5에서의 이벤트 처리는 시그널과 슬롯 메커니즘으로 이루어짐 - 버튼 (btn)을 클릭하면 'clicked' 시그널이 만들어짐 - instance() 메서드는 현재 인스턴스를 반환 - 'clicked' 시그널은 어플리케이션을 종료하는 quit() 메서드에 연결 - 발신자 (Sender)와 수신자 (Receiver), 두 객체 간에 커뮤니케이션이 이루어짐 - 발신자는 푸시버튼 (btn)이고, 수신자는 어플리케이션 객체 (app) |
728x90
반응형
LIST
'Python Library > PyQt' 카테고리의 다른 글
[PyQt] 상태바 (0) | 2022.05.20 |
---|---|
[PyQt] 툴팁 (0) | 2022.05.20 |
[PyQt] 아이콘 삽입 (0) | 2022.05.20 |
[PyQt] 창 띄우기 (0) | 2022.05.20 |
PyQt (0) | 2022.05.20 |