Tkinter : la commande du bouton séxecute toute seule
Résolu
Fabio
-
gudu -
gudu -
Bonjour,
Je commence à programmer en python, et je voulais créer un ensemble de petits jeux simples pour mes proches. J'ai aussi voulu créer un fichier qui servirait de menu à touts ces jeux :
le fichier Save your phone !!!.py est un début de jeu
Le problème, c'est que quand je lance le programme, ça m'ouvre le fichier de jeu. Quand je le ferme, le menu apparaît, mais le bouton ne fonctionne pas
Pouvez-vous m'aider s'il-vous-plaît ?
Je commence à programmer en python, et je voulais créer un ensemble de petits jeux simples pour mes proches. J'ai aussi voulu créer un fichier qui servirait de menu à touts ces jeux :
import tkinter import os class fenetre (tkinter.Tk) : def __init__(self): super().__init__() self.grid() self.empty = tkinter.Label(font = ('courier', 20, )) self.empty.grid(column = 0, row = 0) self.titre = tkinter.Label(text="MY GAMES", font = ('courier', 40 , 'bold')) self.titre.grid(column = 0, row = 1) self.empty.grid(column=0, row=2) self.Save = tkinter.Button(text = "Save your phone !!!", font=('courier', 20), fg = 'black') self.Save.grid(column=0, row=3) self.Save.config(command=os.system("python3.5 Save\ your\ phone\ !!!.py")) if __name__ == '__main__' : app =fenetre() app.title("Games") app.mainloop()
le fichier Save your phone !!!.py est un début de jeu
Le problème, c'est que quand je lance le programme, ça m'ouvre le fichier de jeu. Quand je le ferme, le menu apparaît, mais le bouton ne fonctionne pas
Pouvez-vous m'aider s'il-vous-plaît ?
A voir également:
- Tkinter : la commande du bouton séxecute toute seule
- Tkinter tableau - Forum Python
- Probleme tkinter injustifier - Forum Python
- Pygame ou tkinter ? - Forum Python
- Probleme collision avec tkinter - Forum Python
- Problème avec grid tkinter ✓ - Forum Python
1 réponse
Voir ce sujet.
https://stackoverflow.com/questions/6920302/how-to-pass-arguments-to-a-button-command-in-tkinter#comments-link-15510153
En gros, command a besoin de la référence de la fonction ou méthode, là tu fais un appel.
Sur la page mentionnée, il y a diverses solutions, dans ton cas, il suffit de placer ton bout de code (os.system...) dans une simple fonction, et de renseigner cette fonction dans l'option command du button,
https://stackoverflow.com/questions/6920302/how-to-pass-arguments-to-a-button-command-in-tkinter#comments-link-15510153
En gros, command a besoin de la référence de la fonction ou méthode, là tu fais un appel.
Sur la page mentionnée, il y a diverses solutions, dans ton cas, il suffit de placer ton bout de code (os.system...) dans une simple fonction, et de renseigner cette fonction dans l'option command du button,