Tkinter : la commande du bouton séxecute toute seule [Résolu]

Fabio - 23 mai 2017 à 16:11 - Dernière réponse :  gudu
- 23 mai 2017 à 20:21
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 :

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 ?
Afficher la suite 

1 réponse

Répondre au sujet
0
Utile
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,
Commenter la réponse de gudu