Heim >Backend-Entwicklung >Python-Tutorial >PyQt5 muss lernen, das Fenster jeden Tag zu schließen
Dieser Artikel stellt hauptsächlich die Schließfenster vor, die Sie jeden Tag in PyQt5 lernen müssen. Er hat einen gewissen Referenzwert.
Der einfachste Weg, ein Fenster zu schließen, ist Klicken Sie auf das x Markieren Sie in der Titelleiste. Im folgenden Beispiel zeigen wir jedoch, wie man das Schließen des Fensters programmgesteuert steuert. Wir werden die Signale/Slots von PyQt5 verwenden.
Das Folgende ist die Konstruktionsmethode des QPushButton-Steuerelements, das wir im Beispiel verwendet haben.
QPushButton(string text, QWidget parent = None)
Der Textparameter ist der Text, der auf der Schaltfläche angezeigt werden soll. parent Wo soll das Schaltflächensteuerelement platziert werden? Im folgenden Beispiel fügen wir das Schaltflächensteuerelement in ein QWidget ein. Die Fenstersteuerelemente einer Anwendung können eine hierarchische Struktur bilden. Auf dieser Ebene verfügen die meisten Steuerelemente über übergeordnete Steuerelemente, und Steuerelemente ohne übergeordnetes Steuerelement sind Fenster der obersten Ebene.
#!/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_())
In diesem Beispiel erstellen wir einen Exit-Button. Wenn auf die Schaltfläche geklickt wird, wird die Anwendung beendet.
from PyQt5.QtCore import QCoreApplication
Wir müssen das QCoreApplication-Objekt im QtCore-Modul verwenden
btn = QPushButton('退出', self)
Wir erstellen eine Schaltfläche, die eine Instanz der QPushButton-Klasse ist. Der erste Parameter des Konstruktors ist die Beschriftung der Schaltfläche. Der zweite Parameter ist das übergeordnete Fenstersteuerelement. Das übergeordnete Fenstersteuerelement ist das Beispielsteuerelement, eine von QWidget geerbte Klasse.
btn.clicked.connect(QCoreApplication.instance().quit)
Das Ereignisverarbeitungssystem basiert auf dem Signal-/Slot-Mechanismus von PyQt5. Wenn wir auf die Schaltfläche klicken, gibt die Schaltfläche ein Signal aus und das Klicksignal ist mit der Methode quit () verbunden, um die Anwendung zu beenden.
Der Slot kann ein Qt-Slot oder ein beliebiger Python-Aufruf sein. QCoreApplication enthält die Hauptereignisschleife; sie verarbeitet und versendet alle Ereignisse. Die Methode „instance()“ liefert uns ihre aktuelle Instanz. Beachten Sie, dass QCoreApplication von QApplication unterschieden werden muss.
Sender und Empfänger: Kommunikation zwischen zwei Objekten. Der Sender ist die Schaltfläche und der Empfänger ist das Anwendungsobjekt.
Das Konzept ist etwas verwirrend, klären wir es hier:
Der Knopf (btn) ist der Sender. Nachdem auf die Schaltfläche geklickt wurde, wird ein Klicksignal gesendet. Klicken Sie auf das Signal, um eine Verbindung zum Slot herzustellen (kann ein Qt-Slot oder ein beliebiger Python-Aufruf sein).
In unserem Fall handelt es sich um einen Qt-Slot. QCoreApplication verarbeitet und versendet alle Qt-Ereignisse und löst das Quit-Ereignis der Instanz (dieser Instanz (Empfänger)) aus.
Das ist wahrscheinlich die Bedeutung, nehmen Sie sich Zeit, es zu verstehen!
Nachdem das Programm ausgeführt wurde, klicken Sie auf die Schaltfläche „Beenden“, um das Programm zu schließen.
Verwandte Empfehlungen:
PyQt5-Must-Learn-Popup-Meldungsfeld jeden Tag
PyQt5 erkennt den Download-Fortschrittsbalkeneffekt
PyQt5 muss den Fortschrittsbalkeneffekt jeden Tag lernen
Das obige ist der detaillierte Inhalt vonPyQt5 muss lernen, das Fenster jeden Tag zu schließen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!