IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tkinter Python Discussion :

appel d'un binaire systeme dans une interface graphique


Sujet :

Tkinter Python

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2004
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 32
    Points : 29
    Points
    29
    Par défaut appel d'un binaire systeme dans une interface graphique
    Bonjour,

    Je souhaite utiliser une webcam pour filmer des conversations sous linux.
    Pour cela, j'ai utilisé vlc qui encode le flux webcam a la volée.
    Comme je souhaitais que ca reste user-friendly et eviter que les users utilisent la ligne de commande, j'ai voulu developper un lanceur en python (la commande vlc fait 4 lignes ).

    Donc mon code est le suivant pour 'linstant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    from Tkinter import *
    import os
     
    commande='/usr/bin/vlc -V X11 v4l:/dev/video0:size=640*480 :v4l-adev="/dev/dsp2" --sout "#transcode{vcodec=mp4v, vb=1024, scale=1, acodec=mpga, ab=192}:duplicate{dst=display,dst=standard{access=file, mux=ts, dst="/home/foureg/voila.avi"}}"'
    fen1 = Tk()
    bouton1 = Button(fen1, text='Filmer', command = os.popen(commande))
    bouton1.pack()
    bouton2 = Button(fen1, text='Sortir', command = fen1.destroy)
    bouton2.pack()
    fen1.mainloop()
    Le probleme c'est que ca ouvre vlc au lancement sans afficher mon interface, et si je ferme vlc,la fenetre apparait enfin mais si je reclique sur le bouton "filmer", il ne se rouvre pas.

    J'ai aussi essayé os.system, os.spawnl, os.startfile, sans resultats...

    Voila si quelqu'un veut bien m'aider... MERCI

  2. #2
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    Une solution:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    from Tkinter import *
    import os
     
    commande='/usr/bin/vlc -V X11 v4l:/dev/video0:size=640*480 :v4l-adev="/dev/dsp2" --sout "#transcode{vcodec=mp4v, vb=1024, scale=1, acodec=mpga, ab=192}:duplicate{dst=display,dst=standard{access=file, mux=ts, dst="/home/foureg/voila.avi"}}"'
     
    def go():
        os.popen(commande)
     
    fen1 = Tk()
    bouton1 = Button(fen1, text='Filmer', command = go)
    bouton1.pack()
    bouton2 = Button(fen1, text='Sortir', command = fen1.destroy)
    bouton2.pack()
    fen1.mainloop()

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2004
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 32
    Points : 29
    Points
    29
    Par défaut pas mal ! :)
    C'est marrant, j'avais pourtant testé le fait de passer par une fonction, mais sans succès
    En tout cas, ca marche super, mais ca ne rend pas la main, je vais essayer avec les autres appels systemes.

    Merci !!

  4. #4
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    pour cela, tu peux regarder ici
    => http://python.developpez.com/faq/?pa...GenExecuteFile
    (maintenant, j'utilise principalement le module subprocess)

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juillet 2004
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 32
    Points : 29
    Points
    29
    Par défaut
    Merci bcp, je vais jeter un gros oeil !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. integrer firefox dans une interface graphique swing
    Par fraisa1985 dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 21/06/2011, 12h15
  2. image dans une interface graphique
    Par merdassiahmad dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 08/04/2008, 11h04
  3. "Fusion" de figure dans une interface graphique
    Par pouette13 dans le forum Interfaces Graphiques
    Réponses: 16
    Dernier message: 11/07/2007, 16h12
  4. Intégrer des programmes dans une interface graphique avec GUIDE
    Par maserati222e dans le forum Interfaces Graphiques
    Réponses: 3
    Dernier message: 24/05/2007, 11h30
  5. zoom dans une interface graphique type gui
    Par oregos dans le forum MATLAB
    Réponses: 1
    Dernier message: 25/04/2007, 12h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo