Python

Comment utiliser PyQt QMessageBox

Comment utiliser PyQt QMessageBox
La boîte de message est utilisée dans l'application GUI pour fournir les informations nécessaires à l'utilisateur ou pour demander à l'utilisateur de prendre des mesures en fonction du message. Quatre types de boîtes de message peuvent être créés pour n'importe quelle application GUI, y compris la boîte de message d'information, la boîte de message d'avertissement, la boîte de message critique et la boîte de message de question. le QMessageBox la classe de PyQt est utilisée en Python pour créer une boîte de message. Ce tutoriel vous montre comment utiliser la classe QMessageBox pour créer diverses boîtes de message.

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écessaires
importer 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écessaires
importer 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écessaires
importer 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.

Comment installer League Of Legends sur Ubuntu 14.04
Si vous êtes fan de League of Legends, alors c'est l'occasion pour vous de tester League of Legends. Notez que LOL est pris en charge sur PlayOnLinux ...
Installez le dernier jeu de stratégie OpenRA sur Ubuntu Linux
OpenRA est un moteur de jeu de stratégie en temps réel libre/gratuit qui recrée les premiers jeux Westwood comme le classique Command & Conquer: Red A...
Installez le dernier émulateur Dolphin pour Gamecube et Wii sur Linux
L'émulateur Dolphin vous permet de jouer aux jeux Gamecube et Wii de votre choix sur des ordinateurs personnels Linux (PC). Étant un émulateur de jeu...