Je souhaiterais lancer un appli à partir d'un clic sur un bouton.
J'ai testé; entre autres, ça :
############
from Tkinter import *
import sys
import os
fen = Tk()
fen.title("Avertissement")
texte=Label(fen, text="Aimez-vous emacs ?",fg='red')
bouton1 = Button(fen,text="J'adore emacs", command='/usr/bin/emacs')
bouton1.pack()
fen.mainloop()
#############
L'appli ne se lance pas. Même problème sous windows.
Auriez-vous une idée ?
Merci.
Rémi.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jonathan Barnoud
remi wrote:
Bonjour,
Je souhaiterais lancer un appli à partir d'un clic sur un bouton. J'ai testé; entre autres, ça : ############ from Tkinter import * import sys import os
fen = Tk() fen.title("Avertissement") texte=Label(fen, text="Aimez-vous emacs ?",fg='red') bouton1 = Button(fen,text="J'adore emacs", command='/usr/bin/emacs') bouton1.pack() fen.mainloop() ############# L'appli ne se lance pas. Même problème sous windows. Auriez-vous une idée ? Merci. Rémi.
Et si tu ajoute :
def runEmacs(): os.system("/usr/bin/emacs")
et que tu remplace bouton1 = Button(fen,text="J'adore emacs", command='/usr/bin/emacs') par bouton1 = Button(fen,text="J'adore emacs", command=runEmacs) ?? J'ai pas testé mais ça devrait marcher.
Jonathan Barnoud
remi wrote:
Bonjour,
Je souhaiterais lancer un appli à partir d'un clic sur un bouton.
J'ai testé; entre autres, ça :
############
from Tkinter import *
import sys
import os
fen = Tk()
fen.title("Avertissement")
texte=Label(fen, text="Aimez-vous emacs ?",fg='red')
bouton1 = Button(fen,text="J'adore emacs", command='/usr/bin/emacs')
bouton1.pack()
fen.mainloop()
#############
L'appli ne se lance pas. Même problème sous windows.
Auriez-vous une idée ?
Merci.
Rémi.
Et si tu ajoute :
def runEmacs():
os.system("/usr/bin/emacs")
et que tu remplace bouton1 = Button(fen,text="J'adore emacs",
command='/usr/bin/emacs') par bouton1 = Button(fen,text="J'adore emacs",
command=runEmacs)
??
J'ai pas testé mais ça devrait marcher.
Je souhaiterais lancer un appli à partir d'un clic sur un bouton. J'ai testé; entre autres, ça : ############ from Tkinter import * import sys import os
fen = Tk() fen.title("Avertissement") texte=Label(fen, text="Aimez-vous emacs ?",fg='red') bouton1 = Button(fen,text="J'adore emacs", command='/usr/bin/emacs') bouton1.pack() fen.mainloop() ############# L'appli ne se lance pas. Même problème sous windows. Auriez-vous une idée ? Merci. Rémi.
Et si tu ajoute :
def runEmacs(): os.system("/usr/bin/emacs")
et que tu remplace bouton1 = Button(fen,text="J'adore emacs", command='/usr/bin/emacs') par bouton1 = Button(fen,text="J'adore emacs", command=runEmacs) ?? J'ai pas testé mais ça devrait marcher.
Jonathan Barnoud
F. Petitjean
Bonsoir,
bouton1 = Button(fen,text="J'adore emacs", command='/usr/bin/emacs') avec import os en plus en en-tête et la ligne :
bouton1 = Button(fen,text="J'adore emacs", command=os.popen('emacs') c'est déjà mieux, sauf que la commande est exécutée dès le lancement du script et pas en cliquant sur le bouton. Je continue ma quête. Et en essayant :
bouton1 = Button(fen,text="J'adore emacs", command=lambda : os.system('/usr/bin/emacs') ) vous pouvez aussi paeer par subprocess si vous avez Python 2.4. Il me semble que le paramètre donné avec commnd= doit être un « callable » Python mais je ne peux même pas vérifier sur ma petite Debian à la maison (Debian réussit à empaqueter Python sans Tkinter)
Rémi.
Bonsoir,
bouton1 = Button(fen,text="J'adore emacs", command='/usr/bin/emacs')
avec import os en plus en en-tête et la ligne :
bouton1 = Button(fen,text="J'adore emacs", command=os.popen('emacs')
c'est déjà mieux, sauf que la commande est exécutée dès le lancement du
script et pas en cliquant sur le bouton.
Je continue ma quête.
Et en essayant :
bouton1 = Button(fen,text="J'adore emacs",
command=lambda : os.system('/usr/bin/emacs') )
vous pouvez aussi paeer par subprocess si vous avez Python 2.4. Il me
semble que le paramètre donné avec commnd= doit être un « callable »
Python mais je ne peux même pas vérifier sur ma petite Debian à la
maison (Debian réussit à empaqueter Python sans Tkinter)
bouton1 = Button(fen,text="J'adore emacs", command='/usr/bin/emacs') avec import os en plus en en-tête et la ligne :
bouton1 = Button(fen,text="J'adore emacs", command=os.popen('emacs') c'est déjà mieux, sauf que la commande est exécutée dès le lancement du script et pas en cliquant sur le bouton. Je continue ma quête. Et en essayant :
bouton1 = Button(fen,text="J'adore emacs", command=lambda : os.system('/usr/bin/emacs') ) vous pouvez aussi paeer par subprocess si vous avez Python 2.4. Il me semble que le paramètre donné avec commnd= doit être un « callable » Python mais je ne peux même pas vérifier sur ma petite Debian à la maison (Debian réussit à empaqueter Python sans Tkinter)
Rémi.
remi
Bonsoir,
bouton1 = Button(fen,text="J'adore emacs", command='/usr/bin/emacs') avec import os en plus en en-tête et la ligne :
bouton1 = Button(fen,text="J'adore emacs", command=os.popen('emacs') c'est déjà mieux, sauf que la commande est exécutée dès le lancement du script et pas en cliquant sur le bouton. Je continue ma quête. Rémi.
Bonsoir,
bouton1 = Button(fen,text="J'adore emacs", command='/usr/bin/emacs')
avec import os en plus en en-tête et la ligne :
bouton1 = Button(fen,text="J'adore emacs", command=os.popen('emacs')
c'est déjà mieux, sauf que la commande est exécutée dès le lancement du
script et pas en cliquant sur le bouton.
Je continue ma quête.
Rémi.
bouton1 = Button(fen,text="J'adore emacs", command='/usr/bin/emacs') avec import os en plus en en-tête et la ligne :
bouton1 = Button(fen,text="J'adore emacs", command=os.popen('emacs') c'est déjà mieux, sauf que la commande est exécutée dès le lancement du script et pas en cliquant sur le bouton. Je continue ma quête. Rémi.
remi
def runEmacs(): os.system("/usr/bin/emacs")
et que tu remplace bouton1 = Button(fen,text="J'adore emacs", command='/usr/bin/emacs') par bouton1 = Button(fen,text="J'adore emacs", command=runEmacs) ?? J'ai pas testé mais ça devrait marcher.
Oui, ça marche ! Comme l'a dit F.Petitjean, il faut que ce soit un "callable" python et l'idée de mettre une fonction en est bien un. Merci à vous deux ! (les deux méthodes fonctionnent) Rémi.
def runEmacs():
os.system("/usr/bin/emacs")
et que tu remplace bouton1 = Button(fen,text="J'adore emacs",
command='/usr/bin/emacs') par bouton1 = Button(fen,text="J'adore emacs",
command=runEmacs)
??
J'ai pas testé mais ça devrait marcher.
Oui, ça marche !
Comme l'a dit F.Petitjean, il faut que ce soit un "callable" python et
l'idée de mettre une fonction en est bien un.
Merci à vous deux ! (les deux méthodes fonctionnent)
Rémi.
et que tu remplace bouton1 = Button(fen,text="J'adore emacs", command='/usr/bin/emacs') par bouton1 = Button(fen,text="J'adore emacs", command=runEmacs) ?? J'ai pas testé mais ça devrait marcher.
Oui, ça marche ! Comme l'a dit F.Petitjean, il faut que ce soit un "callable" python et l'idée de mettre une fonction en est bien un. Merci à vous deux ! (les deux méthodes fonctionnent) Rémi.