Need help, programme python.

Résolu/Fermé
Antoine28190 Messages postés 14 Date d'inscription dimanche 6 avril 2014 Statut Membre Dernière intervention 20 décembre 2014 - 23 avril 2014 à 14:48
 Utilisateur anonyme - 26 avril 2014 à 10:34
Bonjour a tous, je suis débutant en programmation sur Python et je voudrais savoir s'il serait possible d'ouvrir une nouvelle fenêtre avec un bouton.
J'aimerais que lorsque je clique sur le bouton cette fenêtre se ferme et en ouvre une nouvelle que j'ai au préalable déjà créer, je sais qu'un bouton peut contenir qu'une commande mais j'encrerais tous ça dans une fonction.
Le problème c'est que lorsque je lance mon programme tous les fenêtres s'ouvre.
Merci d'avance pour votre aide.

1 réponse

Utilisateur anonyme
24 avril 2014 à 09:32
Si cette fenêtre est la fenêtre principale, c'est une mauvaise idée que de là fermer. Il faudrait là cacher à l'aide de la méthode grid_forget.

Si vous supprimez la fenêtre principale, vous quittez le programme et sa boucle principale.
1
Antoine28190 Messages postés 14 Date d'inscription dimanche 6 avril 2014 Statut Membre Dernière intervention 20 décembre 2014
25 avril 2014 à 15:18
Lorsque je ferme la fenêtre le programme continue de s'exécuter.
En faite mon programme est un jeu, lorsque je l'exécute il y a deux fenêtres qui s'ouvrent: le jeu et le menu. J'aimerais que celle du jeu ne s'ouvre que lorsque je clique sur le bouton JOUER présent sur la fenêtre du menu.
Je ne sais pas qu'elle fenêtre est la principale, je pense que c'est les deux d'où leurs ouvertures simultanées.
0
Utilisateur anonyme
25 avril 2014 à 17:46
Votre fenêtre principale est celle créée avec l'instance Tk...

root  = Tk() # root est la fenêtre principale


Pour créer la fenêtre, il faut créer un callback. Dans ce callback, vous créerez cette nouvelle fenêtre.

Pour plus d'informations, via google, tapez callback +tkinter
0
Antoine28190 Messages postés 14 Date d'inscription dimanche 6 avril 2014 Statut Membre Dernière intervention 20 décembre 2014
25 avril 2014 à 18:09
Dans mon programme les deux fenêtres sont crées comme tu l'as fait : = Tk() .
Il est donc possible d'en créer des secondaires ?
0
non, il faudra utiliser la classe Toplevel pour créer une fenêtre secondaire.

EDIT : Si tu veux créer deux fenêtre principales, alors se sera une fenêtre principale et une secondaire toutes les deux visibles.

2 instances Tk, c'est deux boucles d'évènements, donc incohérent...
0
Antoine28190 Messages postés 14 Date d'inscription dimanche 6 avril 2014 Statut Membre Dernière intervention 20 décembre 2014
25 avril 2014 à 20:47
Mon programme marche très bien pourtant, voici le début de code:
fenetreJeu= Tk()
fenetreJeu.title('Pion')

fenetreMenu= Tk()
fenetreMenu.title('Menu')

fenetreMenu.geometry('500x400+400+200')
0