Méthodes nécessaires
La classe QMessageBox a de nombreuses méthodes pour créer différents types de boîtes de message. Certaines des méthodes les plus couramment utilisées de la classe QMessageBox sont décrites ci-dessous :
Noms de méthode | Objectif |
---|---|
setTitre() | Utilisé pour afficher le titre personnalisé. |
Définir le texte() | Utilisé pour définir le texte du message principal. |
setDetailText() | Permet d'afficher une fenêtre avec un bouton de détails ; le texte du message apparaîtra après que l'utilisateur aura cliqué sur le bouton. |
setInformativeText | Permet d'afficher le message supplémentaire. |
setIcon() | Utilisé pour définir une icône dans la boîte de message en fonction du type de message. |
setWindowTitle() | Utilisé pour définir le titre de la fenêtre de message. |
setDefaultButton() | Utilisé pour définir le bouton dans la boîte de message par défaut ; le bouton émettra un signal cliqué lorsque le Entrer la touche est enfoncée. |
setEscapeButton() | Utilisé pour définir n'importe quel bouton pour qu'il fonctionne comme une touche d'échappement ; le bouton émettra un signal cliqué lorsque le S'échapper la touche est enfoncée. |
setStandardButtons() | Divers boutons standard peuvent être utilisés dans la boîte de message en fonction du type de message, tels que OK, Oui, Non, Annuler, Fermer, etc. |
Utilisation de QMessageBox
Les sections suivantes de ce didacticiel fournissent des exemples qui vous montreront comment créer différentes boîtes de message à l'aide de la classe QMessageBox.
Exemple 1 : créer une boîte de message d'information
Le script suivant créera une boîte de message d'information simple à l'aide de la classe QMessageBox. Ce type de boîte de message fournit le message d'information pour l'utilisateur uniquement. d'accord est le bouton par défaut dans la boîte de message. Ici, QMessageBox.Informations est utilisé dans le setIcon() méthode pour afficher l'icône d'information dans la boîte de message.
# Importez les modules nécessairesimporter le système
de PyQt5.QtWidgets importent QApplication, QMainWindow, QMessageBox
# Définir la classe pour afficher un message d'information
classe MessageWindow(QMainWindow):
def __init__(self):
# Appeler le constructeur parent
super().__init__()
# Créer l'objet messagebox
soi.msg = QMessageBox()
# Définir l'icône d'information
soi.message.setIcon(QMessageBox.Informations)
# Définir le message principal
soi.message.setText("La tâche est terminée avec succès.")
# Définir le titre de la fenêtre
soi.message.setWindowTitle("Message d'information")
# Afficher la boîte de message
soi.message.spectacle()
# Créer un objet d'application et exécuter l'application
app = QApplication(sys.argv)
Win = MessageWindow()
application.exec()
La boîte de message suivante apparaîtra après l'exécution du script ci-dessus.
Exemple 2 : créer une boîte de message d'avertissement
Le script suivant créera la boîte de message d'avertissement à l'aide de la classe QMessageBox. Ce type de boîte de message fournit le message d'avertissement à l'utilisateur. le Attention est utilisé dans le setIcon() méthode pour afficher l'icône d'avertissement dans la boîte de message. le d'accord et Annuler les boutons sont ajoutés à la boîte de message en utilisant le setStandardButtons() méthode. Une méthode personnalisée appelée msgButton() est défini dans la classe pour tracer le bouton dans la boîte de message qui a été cliqué par l'utilisateur. Si l'utilisateur clique sur le d'accord bouton, puis le texte, 'Le bouton OK est enfoncé,' s'imprimera ; sinon, le 'Le bouton Annuler est enfoncé' le texte s'imprimera.
# Importez les modules nécessairesimporter le système
de PyQt5.QtWidgets importent QApplication, QMainWindow, QMessageBox
# Définir la classe pour afficher un message d'information
classe MessageWindow(QMainWindow):
def __init__(self):
# Appeler le constructeur parent
super().__init__()
# Créer l'objet messagebox
soi.msgWarning = QMessageBox()
# Définir l'icône d'avertissement
soi.msgAvertissement.setIcon(QMessageBox.Avertissement)
# Définir le message principal
soi.msgAvertissement.Définir le texte("Nom la variable n'est pas définie.")
# Définir deux boutons pour la boîte de message
soi.msgAvertissement.setStandardButtons(QMessageBox.D'accord | QMessageBox.Annuler)
# Appelez la méthode personnalisée sur le bouton cliqué
soi.msgAvertissement.boutonClic.se connecter (se.msgButton)
# Définir le titre de la fenêtre
soi.msgAvertissement.setWindowTitle("Message d'avertissement")
# Afficher la boîte de message
soi.msgAvertissement.spectacle()
# Définir la fonction des boutons
def msgButton(self, i):
si je.texte() == '&OK' :
print("Le bouton OK est enfoncé.")
autre:
print("Le bouton Annuler est enfoncé.")
# Créer un objet d'application et exécuter l'application
app = QApplication(sys.argv)
Win = MessageWindow()
application.exec_()
La boîte de message suivante apparaîtra après l'exécution du script ci-dessus.
Si l'utilisateur clique sur le d'accord bouton, la sortie suivante apparaîtra.
Exemple 3 : créer un Question Avertissement Un message
Le script suivant créera la boîte de message de question en utilisant la classe QMessageBox. Ce type de boîte de message fournit le message de question à l'utilisateur pour qu'il prenne l'action particulière en fonction de la décision de l'utilisateur. Ici, QMessageBox.Question est utilisé dans le setIcon() méthode pour afficher l'icône de la question dans la boîte de message. le Oui et Non les boutons sont ajoutés à la boîte de message en utilisant le setStandardButtons() méthode. le Non est défini comme bouton par défaut à l'aide de la méthode setDefaultButton(). Une méthode personnalisée appelée msgButton() est défini dans la classe pour tracer le bouton dans la boîte de message qui a été cliqué par l'utilisateur.
# Importez les modules nécessairesimporter le système
de PyQt5.QtWidgets importent QApplication, QMainWindow, QMessageBox
# Définir la classe pour afficher un message d'information
classe MessageWindow(QMainWindow):
def __init__(self):
# Appeler le constructeur parent
super().__init__()
# Créer l'objet messagebox
soi.msgQuestion = QMessageBox()
# Définir l'icône d'avertissement
soi.msgQuestion.setIcon(QMessageBox.Question)
# Définir le message principal
soi.msgQuestion.setText("Voulez-vous continuer?")
# Définir deux boutons pour la boîte de message
soi.msgQuestion.setStandardButtons(QMessageBox.Oui | QMessageBox.Non)
soi.msgQuestion.setDefaultButton(QMessageBox.Non)
# Appelez la méthode personnalisée sur le bouton cliqué
soi.msgQuestion.boutonClic.se connecter (se.msgButton)
# Définir le titre de la fenêtre
soi.msgQuestion.setWindowTitle("Poser une question à l'utilisateur")
# Afficher la boîte de message
soi.msgQuestion.spectacle()
# Définir la fonction des boutons
def msgButton(self, i):
si je.text() == '&Oui' :
print("La tâche continue… ")
autre:
print("Vous avez annulé la tâche.")
# Créer un objet d'application et exécuter l'application
app = QApplication(sys.argv)
Win = MessageWindow()
application.exec_()
La boîte de message suivante apparaîtra après l'exécution du script ci-dessus.
Si l'utilisateur clique sur le Entrer sans sélectionner de bouton, puis la Non sera activé par défaut et la sortie suivante apparaîtra :
Conclusion
Dans ce didacticiel, trois types différents de boîtes de message ont été créés à l'aide de la classe QMessageBox. Espérons que ce tutoriel vous a aidé à mieux comprendre l'utilisation de cette classe. Vous devriez maintenant pouvoir créer une boîte de message pour l'application PyQt.