Maison  >  Article  >  développement back-end  >  PyQt5 doit apprendre la boîte de message contextuelle chaque jour

PyQt5 doit apprendre la boîte de message contextuelle chaque jour

不言
不言original
2018-04-19 11:23:206383parcourir

Cet article présente principalement en détail la boîte de message pop-up que vous devez apprendre chaque jour dans PyQt5. Elle a une certaine valeur de référence. Les amis intéressés peuvent s'y référer

Par défaut, si nous cliquons sur le. titre X sur la barre, le QWidget se ferme. Parfois, nous devons modifier ce comportement par défaut. Par exemple, si nous avons un fichier que nous souhaitons ouvrir dans un éditeur, nous pouvons d'abord afficher une boîte de message pour confirmer l'opération d'ouverture ou non.

#!/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_())

Si nous fermons le contrôle QWidget, l'événement QCloseEvent sera généré. Pour modifier les propriétés du contrôle, nous devons réimplémenter le gestionnaire d'événements closeEvent().

 reply = QMessageBox.question(self, '信息', '确认退出吗?', 
   QMessageBox.Yes | QMessageBox.No, QMessageBox.No)

On affiche une boîte de message avec deux boutons : Oui et Non. La première chaîne apparaît dans la barre de titre. La deuxième chaîne est le texte du message affiché dans la boîte de dialogue. Le troisième paramètre spécifie la combinaison de boutons dans la boîte de dialogue contextuelle. Le dernier paramètre est le bouton par défaut, qui est le bouton avec le focus initial du clavier. La valeur de retour est stockée dans la variable de réponse.

 if reply == QMessageBox.Yes:
   event.accept()
  else:
   event.ignore()

Ici, nous utilisons if pour tester la valeur de retour. Si nous cliquons sur le bouton Oui, nous acceptons la fermeture du contrôle du bouton et exécutons l'événement de fin de l'application. Sinon, nous ignorons l'événement de clôture.

Une fois le programme exécuté, cliquez sur 🎜>PyQt5 implémente l'effet de barre de progression du téléchargement

PyQt5 doit apprendre la boîte de message contextuelle chaque jourPyQt5 doit apprendre la boîte de message contextuelle chaque jourPyQt5 doit apprendre chaque jour l'effet de barre de progression


PyQt5 doit apprendre chaque jour que QSplitter implémente la séparation des fenêtres

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn