Fenetre MessageBox tkinter Python 3

croute4 Messages postés 4 Date d'inscription dimanche 28 mars 2004 Statut Membre Dernière intervention 12 février 2013 - 31 déc. 2012 à 14:22
croute4 Messages postés 4 Date d'inscription dimanche 28 mars 2004 Statut Membre Dernière intervention 12 février 2013 - 6 janv. 2013 à 15:44
Bonjour à tous
Je vous écris car j'ai un petit soucis tout bête.
j'essais en vain de faire apparaitre une fenetre popup dans mon programme.
En glanant ici et là des infos sur le net, j'ai trouvé la syntaxe suivante
MessageBox.Showerror("Erreur","Erreur entrée")

mais j'obtiens le message d'erreur suivant:
Exception in Tkinter callback
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/tkinter/__init__.py", line 1442, in __call__
return self.func(*args)
File "/Users/billbaroud/Documents/Programmes python/Force verin/Verin.py", line 36, in calcul
MessageBox.Showerror("Erreur","Erreur entrée")
NameError: global name 'MessageBox' is not defined

Je comprend bien du coup qu'il y a un probleme avec MessageBox mais je ne comprend pas lequel.

Si une personne a une idée?
Je suis sur mac, des fois que cela change quelque chose?

De plus, trouvant trés peu d'info sur python 3 ne vaudrait-il pas mieux apprendre le python 2.7??

merci davance.
A voir également:

2 réponses

lespinx Messages postés 106 Date d'inscription lundi 9 octobre 2006 Statut Membre Dernière intervention 23 novembre 2022 77
1 janv. 2013 à 22:14
Bonsoir,

NameError: global name 'MessageBox' is not defined
Ce message indique que la fonction MessageBox n'est pas reconnue.
Il faut faire un import de la bibliothèque qui contient la fonction
# -*- coding: ISO-8859-15 -*-
from tkinter.messagebox import showerror
showerror("Erreur", "Erreur entrée")


Ce code minimal a pour inconvénient de faire apparaitre la fenêtre racine de TkInter.
Le code suivant permet d'invoquer TkInter et de masquer la fenêtre racine.
from tkinter import Tk
from tkinter.messagebox import showerror

if __name__ == '__main__':
    Tk_Appli = Tk()
    Tk_Appli.withdraw()
    showerror("Erreur", "Erreur entrée")
    Tk_Appli.destroy()


De plus, trouvant très peu d'info sur python 3 ne vaudrait-il pas mieux apprendre le python 2.7??
En cherchant un peu sur Internet on trouve pas mal d'info sur Python 3 Voir ici.

Bonne année 2013 en Python
0
Rejoignez-nous