이 글에서는 매일 PyQt5에서 창을 닫는 방법을 자세히 소개합니다. 관심 있는 친구들이 참고할 수 있습니다.
창을 닫는 가장 쉬운 방법은 제목 표시줄에 있는 x를 클릭하는 것입니다. 그러나 다음 예제에서는 프로그래밍 방식으로 창 닫기를 제어하는 방법을 보여줍니다. 우리는 PyQt5의 신호/슬롯을 사용할 것입니다.
다음은 예제에서 사용한 QPushButton 컨트롤의 구성 방법입니다.
QPushButton(string text, QWidget parent = None)
text 매개변수는 버튼에 표시할 텍스트입니다. parent 버튼 컨트롤을 배치할 위치입니다. 다음 예에서는 버튼 컨트롤을 QWidget에 배치합니다. 응용 프로그램의 창 컨트롤은 계층 구조를 형성할 수 있습니다. 이 수준에서 대부분의 컨트롤은 상위 컨트롤을 가지며 상위 컨트롤이 없는 컨트롤은 최상위 창입니다.
#!/usr/bin/python3 # -*- coding: utf-8 -*- """ PyQt5 教程 这个程序创建一个退出按钮。当我们按下按钮,应用程序将终止。 作者:我的世界你曾经来过 博客:http://blog.csdn.net/weiaitaowang 最后编辑:2016年7月29日 """ import sys from PyQt5.QtWidgets import QApplication, QWidget, QPushButton from PyQt5.QtCore import QCoreApplication class Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): btn = QPushButton('退出', self) btn.clicked.connect(QCoreApplication.instance().quit) btn.resize(btn.sizeHint()) btn.move(50, 50) self.setGeometry(300, 300, 300, 220) self.setWindowTitle('退出按钮') self.show() if __name__ == '__main__': app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_())
이 예에서는 종료 버튼을 만들었습니다. 버튼을 클릭하면 애플리케이션이 종료됩니다.
from PyQt5.QtCore import QCoreApplication
QtCore 모듈의 QCoreApplication 개체를 사용해야 합니다.
btn = QPushButton('退出', self)
QPushButton 클래스의 인스턴스인 버튼을 만듭니다. 생성자의 첫 번째 매개변수는 버튼의 라벨입니다. 두 번째 매개변수는 상위 창 컨트롤입니다. 상위 창 컨트롤은 QWidget에서 상속된 클래스인 예제 컨트롤입니다.
btn.clicked.connect(QCoreApplication.instance().quit)
이벤트 처리 시스템은 PyQt5의 신호/슬롯 메커니즘을 기반으로 구축되었습니다. 버튼을 클릭하면 버튼은 신호를 내보내고 클릭 신호는 quit() 메서드에 연결되어 애플리케이션을 종료합니다.
슬롯은 Qt 슬롯 또는 Python 호출이 될 수 있습니다. QCoreApplication에는 기본 이벤트 루프가 포함되어 있으며 모든 이벤트를 처리하고 전달합니다. 인스턴스() 메소드는 현재 인스턴스를 제공합니다. QCoreApplication과 QApplication을 구별하십시오.
발신자와 수신자: 통신은 두 개체 사이에서 이루어집니다. 송신자는 버튼이고 수신자는 애플리케이션 객체입니다.
개념이 약간 혼란스럽습니다. 여기서 정리하겠습니다.
버튼(btn)이 송신기입니다. 버튼을 클릭하면 클릭 신호가 전송됩니다. 신호를 클릭하여 슬롯에 연결합니다(Qt 슬롯 또는 Python 호출일 수 있음).
우리의 경우 Qt 슬롯인 경우 QCoreApplication은 모든 Qt 이벤트를 처리하고 전달하며 인스턴스(이 인스턴스(수신자))의 종료 이벤트를 전달합니다.
이게 바로 그런 의미일 것입니다. 시간을 갖고 이해해 보세요!
프로그램 실행 후 종료 버튼을 눌러 프로그램을 닫아주세요.
관련 추천:
PyQt5는 팝업 메시지 상자를 매일 학습해야 합니다.
PyQt5는 다운로드 진행률 표시줄 효과를 구현합니다.
PyQt5는 매일 진행률 표시줄 효과를 학습해야 합니다
위 내용은 PyQt5는 매일 창을 닫는 법을 배워야 합니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!