Heim >Backend-Entwicklung >Python-Tutorial >PyQt5 muss jeden Tag das Popup-Meldungsfeld lernen
In diesem Artikel wird hauptsächlich das Popup-Meldungsfeld vorgestellt, das Sie jeden Tag in PyQt5 lernen müssen. Es hat einen bestimmten Referenzwert.
Standardmäßig können wir darauf klicken Wenn Sie in der Leiste auf die Schaltfläche „Titel X“ klicken, wird das QWidget geschlossen. Manchmal müssen wir dieses Standardverhalten ändern. Wenn wir beispielsweise eine Datei haben, die wir in einem Editor öffnen möchten, können wir zunächst ein Meldungsfeld anzeigen, um zu bestätigen, ob der Vorgang geöffnet wird oder nicht.
#!/usr/bin/python3 # -*- coding: utf-8 -*- """ PyQt5 教程 当我们点击应用程序窗口的关闭按钮,该程序显示一个确认信息框。 作者:我的世界你曾经来过 博客:http://blog.csdn.net/weiaitaowang 最后编辑:2016年7月29日 """ import sys from PyQt5.QtWidgets import QApplication, QWidget, QMessageBox class Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setGeometry(300, 300, 300, 220) self.setWindowTitle('消息盒子') self.show() def closeEvent(self, event): reply = QMessageBox.question(self, '信息', '确认退出吗?', QMessageBox.Yes | QMessageBox.No, QMessageBox.No) if reply == QMessageBox.Yes: event.accept() else: event.ignore() if __name__ == '__main__': app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_())
Wenn wir das QWidget-Steuerelement schließen, wird das QCloseEvent-Ereignis generiert. Um die Steuereigenschaften zu ändern, müssen wir den Ereignishandler closeEvent() neu implementieren.
reply = QMessageBox.question(self, '信息', '确认退出吗?', QMessageBox.Yes | QMessageBox.No, QMessageBox.No)
Wir zeigen ein Meldungsfeld mit zwei Schaltflächen an: Ja und Nein. Die erste Zeichenfolge erscheint in der Titelleiste. Die zweite Zeichenfolge ist der im Dialogfeld angezeigte Nachrichtentext. Der dritte Parameter gibt die Tastenkombination im Popup-Dialogfeld an. Der letzte Parameter ist die Standardschaltfläche, also die Schaltfläche mit dem anfänglichen Tastaturfokus. Der Rückgabewert wird in der Antwortvariablen gespeichert.
if reply == QMessageBox.Yes: event.accept() else: event.ignore()
Hier verwenden wir if, um den Rückgabewert zu testen. Wenn wir auf die Schaltfläche „Ja“ klicken, akzeptieren wir das Schließen der Schaltflächensteuerung und führen das Beendigungsereignis der Anwendung aus. Andernfalls ignorieren wir das Abschlussereignis.
Nachdem das Programm ausgeführt wurde, klicken Sie auf 🎜>PyQt5 implementiert den Download-Fortschrittsbalkeneffekt
PyQt5 muss jeden Tag den Fortschrittsbalkeneffekt lernen
Das obige ist der detaillierte Inhalt vonPyQt5 muss jeden Tag das Popup-Meldungsfeld lernen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!