Heim  >  Artikel  >  Backend-Entwicklung  >  PyQt5 muss jeden Tag das Popup-Meldungsfeld lernen

PyQt5 muss jeden Tag das Popup-Meldungsfeld lernen

不言
不言Original
2018-04-19 11:23:206383Durchsuche

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 das Popup-Meldungsfeld lernenPyQt5 muss jeden Tag das Popup-Meldungsfeld lernenPyQt5 muss jeden Tag den Fortschrittsbalkeneffekt lernen


PyQt5 muss jeden Tag lernen, dass QSplitter die Fenstertrennung implementiert

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn