Utilisation de tkMessageBox

Résolu
cs_cynthia06 Messages postés 6 Date d'inscription vendredi 19 mai 2006 Statut Membre Dernière intervention 30 janvier 2007 - 30 janv. 2007 à 10:55
cs_vychnou Messages postés 124 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 11 mai 2009 - 30 janv. 2007 à 15:28
Bonjour a tous,

Ma question va sans doute paraitre tres bete.
J'essaie d'afficher un message avec tkMessageBox.

Pour cela je fais:
from Tkinter import *
import tkMessageBox
<code de mon programme>
tkMessageBox.showinfo('Titre','Message')
<code de mon programme>

La fenetre contenant Message s'affiche correctement cependant il s'affiche aussi une deuxieme fenetre de titre tk mais grise a l'interieur et vide...Je clique ensuite sur OK sur la fenetre affichant mon message, la suite de mon code se deroule alors correctement, par contre la deuxieme fenetre vide reste ouverte.

Si quelqu'un a une idee pour supprimer cette deuxieme fenetre qui ne sert a rien, ca me rendrait bien service

Merci

5 réponses

cs_vychnou Messages postés 124 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 11 mai 2009 18
30 janv. 2007 à 14:54
Salut à toi.
Apparement, ton problème viens du fait que Tk crée une fenètre principale lorsque tu utilise la messagebox. Pour l'enlever, crée la implicitement puis détruis la:

from Tkinter import *
import tkMessageBox
root=Tk()#tu crées la fenetre principale
tkMessageBox.showinfo('Titre','Message')
root.destroy()#tu la détruis

Bon ça serait sympa une solution pour qu'elle n'aparaisse pas du tout c'est sur...

Je vais chercher un peu
A+, bonne continuation
3
cs_vychnou Messages postés 124 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 11 mai 2009 18
30 janv. 2007 à 15:13
Voila pour continuer dans la bidouille, pour que la fenètre principale soit quasi invisible (elle apparait sous la forme d'un pixel dans le coin en haut à droite):

from Tkinter import *
import tkMessageBox
root=Tk()
root.geometry("1x1+0+0")#un pixel en haut à droite
root.overrideredirect(TRUE)#enlève les menus etc..
tkMessageBox.showinfo('Titre','Message')
root.destroy()
3
cs_cynthia06 Messages postés 6 Date d'inscription vendredi 19 mai 2006 Statut Membre Dernière intervention 30 janvier 2007
30 janv. 2007 à 15:04
Je viens d'essayer, ca marche bien de cette maniere.

Merci
0
cs_cynthia06 Messages postés 6 Date d'inscription vendredi 19 mai 2006 Statut Membre Dernière intervention 30 janvier 2007
30 janv. 2007 à 15:25
C'est effectivement beaucoup plus propre comme ca.

Je vais sans doute repasser ici plus tard j'ai d'autres petites questions qui me perturbent !


Merci encore
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_vychnou Messages postés 124 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 11 mai 2009 18
30 janv. 2007 à 15:28
Pas de problème, à ton service, à plus tard alors.

Erratum: j'ai mis plusieurs fois "en haut à droite", mais le pixel apparait en haut à gauche
0
Rejoignez-nous