Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 08/06/2008, à 11:07

casimir

Python inserer du texte dans le script

Je voudrait ecrire un texte simple dans un script python
suite du post ci-dessous.
http://forum.ubuntu-fr.org/viewtopic.php?id=226486

le texte va se situer au du premier bouton.
Le texte sera "multiplexage àprés encodage"

#!/usr/bin/python
# -*- coding: utf-8 -*-

import Tkinter 
import tkFileDialog

class Main(Tkinter.Tk):
    def __init__(self,):
        Tkinter.Tk.__init__(self)
        self._videoPath=""
        self._audioPath="."
        self._finalPath="."
        
        self.labelVideo=Tkinter.Label(self)
        self.labelAudio=Tkinter.Label(self)
        self.labelFinal=Tkinter.Label(self)
        
        self.buttonVideo=Tkinter.Button(self,text="Choisir la vidéo")
        self.buttonAudio=Tkinter.Button(self,text="Choisir l'audio")
        self.buttonFinal=Tkinter.Button(self,text="Choisir le fichier final")
        self.buttonMux=Tkinter.Button(self,text="Lancer le Mux")
        
        self.buttonVideo.bind('<Button-1>',self.videoPath)
        self.buttonAudio.bind('<Button-1>',self.audioPath)
        self.buttonFinal.bind('<Button-1>',self.finalPath)
        self.buttonMux.bind('<Button-1>',self.mux)
        
        self.buttonVideo.pack(fill='x')
        self.labelVideo.pack(fill='x')
        self.buttonAudio.pack(fill='x')
        self.labelAudio.pack(fill='x')
        self.buttonFinal.pack(fill='x')
        self.labelFinal.pack(fill='x')
        self.buttonMux.pack(fill='x')
        
    def videoPath(self,event):
        self._videoPath=tkFileDialog.askopenfilename(parent=self,initialdir="$HOME",title='Choisissez la vidéo',filetypes=[('Fichiers video', '*.m2v')])
        self.labelVideo.__setitem__('text',self._videoPath)
        print self._videoPath

        
    def audioPath(self,event):
        self._audioPath=tkFileDialog.askopenfilename(parent=self,initialdir="$HOME",title="Choisissez l'audio",filetypes=[('Fichiers audio', "*.mp3 , *.ac3")])
        self.labelAudio.__setitem__('text',self._audioPath)
        print self._audioPath
	
        
    def finalPath(self,event):
        self._finalPath=tkFileDialog.asksaveasfilename(parent=self,initialdir="$HOME",title="Choisissez le fichier final")
        self.labelFinal.__setitem__('text',self._finalPath)
        print self._finalPath

    def mux(self,event):
        import subprocess
        args=['mplex','-f8',self._videoPath,self._audioPath,'-o',self._finalPath+'.mpg']
	
	try:
            subprocess.Popen(args)
        except Exception,e:
		print "Trying to launch mplex with args : %s" % args
		print e



if __name__=="__main__":
    
    root = Main() 
    root.title('Encode using mplex')
    root.mainloop()

Merci de votre aide.
PS: cette aide a pour but de me former au python et pas de me faire le script tout fait, serait trop facile sinon !

Dernière modification par casimir (Le 09/06/2008, à 19:16)

Hors ligne

#2 Le 08/06/2008, à 11:39

Jean-Julien

Re : Python inserer du texte dans le script

Il suffit d'écrire:

# multiplexage après encodage

Le caractère "#" en début de ligne désigne une remarque.

(Tu peux télécharger le livre de Gérard Swinnen sur le Python, il est au format PDF. Très bien fait. Je vais aller voir pour te fornir les coordonnées pour télécharger.)

Hors ligne

#3 Le 08/06/2008, à 11:44

Jean-Julien

Re : Python inserer du texte dans le script

Vas voir par là :

http://www.cifen.ulg.ac.be/inforef/swi/python.htm

wink

Hors ligne

#4 Le 08/06/2008, à 13:11

casimir

Re : Python inserer du texte dans le script

J'ai déja le pdf, c'est pour dire !

Le caractère "#" en début de ligne désigne une remarque.

Mais ca n'affiche pas dans la fenetre cette remarque, elle ne s'affiche que dans le code !

Hors ligne

#5 Le 09/06/2008, à 12:32

casimir

Re : Python inserer du texte dans le script

Personne, veut m'aider, snif! personne ne m'aime, snif!

Hors ligne

#6 Le 09/06/2008, à 14:02

cbastiend

Re : Python inserer du texte dans le script

Je suppose que tu veux insérer ce texte dans l'interface graphique.
Désolé, je n'ai aucune expérience de tkinter.
Sinon,

print "Multiplexage après encodage"

wink

Hors ligne

#7 Le 09/06/2008, à 17:50

casimir

Re : Python inserer du texte dans le script

Tout a fait cbastiend, mais ca ne marche pas aussi simplement que ca, je n'ai pas de vocabulaire python et ca c'est aussi le probleme pour etre aider.

Dernière modification par casimir (Le 09/06/2008, à 19:18)

Hors ligne

#8 Le 09/06/2008, à 19:18

casimir

Re : Python inserer du texte dans le script

dans l'exemple ci-dessous je creer une autre fenetre que celle du script. c'est pas ce que je veux.

from Tkinter import *
master = Tk()
Label(text="Texte de la fenetre avec une largeur", width=50).pack()

Hors ligne

#9 Le 09/06/2008, à 21:21

Clop'

Re : Python inserer du texte dans le script

Yop Casimir smile

Si tu veux rajouter des choses à la fenêtre, va falloir potasser un peu de doc avant...

Pour rajouter un bloc de texte, il faut bien utiliser un Label, mais il faut "le packer" dans la fenêtre du script...

#!/usr/bin/python
# -*- coding: utf-8 -*-

import Tkinter 
import tkFileDialog

class Main(Tkinter.Tk):
    def __init__(self,):
        Tkinter.Tk.__init__(self)
        self._videoPath=""
        self._audioPath="."
        self._finalPath="."
        
        self.labelVideo=Tkinter.Label(self)
        self.labelAudio=Tkinter.Label(self)
        self.labelFinal=Tkinter.Label(self)
        self.labelTrucQueTuVeuxEcrire=Tkinter.Label(self,text="TrucQueTuVeuxEcrire")
        
        self.buttonVideo=Tkinter.Button(self,text="Choisir la vidéo")
        self.buttonAudio=Tkinter.Button(self,text="Choisir l'audio")
        self.buttonFinal=Tkinter.Button(self,text="Choisir le fichier final")
        self.buttonMux=Tkinter.Button(self,text="Lancer le Mux")
        
        self.buttonVideo.bind('<Button-1>',self.videoPath)
        self.buttonAudio.bind('<Button-1>',self.audioPath)
        self.buttonFinal.bind('<Button-1>',self.finalPath)
        self.buttonMux.bind('<Button-1>',self.mux)
        
        self.labelTrucQueTuVeuxEcrire.pack(fill='x')
        self.buttonVideo.pack(fill='x')
        self.labelVideo.pack(fill='x')
        self.buttonAudio.pack(fill='x')
        self.labelAudio.pack(fill='x')
        self.buttonFinal.pack(fill='x')
        self.labelFinal.pack(fill='x')
        self.buttonMux.pack(fill='x')
        
    def videoPath(self,event):
        self._videoPath=tkFileDialog.askopenfilename(parent=self,initialdir="$HOME",title='Choisissez la vidéo',filetypes=[('Fichiers video', '*.m2v')])
        self.labelVideo.__setitem__('text',self._videoPath)
        print self._videoPath

        
    def audioPath(self,event):
        self._audioPath=tkFileDialog.askopenfilename(parent=self,initialdir="$HOME",title="Choisissez l'audio",filetypes=[('Fichiers audio', "*.mp3 , *.ac3")])
        self.labelAudio.__setitem__('text',self._audioPath)
        print self._audioPath
    
        
    def finalPath(self,event):
        self._finalPath=tkFileDialog.asksaveasfilename(parent=self,initialdir="$HOME",title="Choisissez le fichier final")
        self.labelFinal.__setitem__('text',self._finalPath)
        print self._finalPath

    def mux(self,event):
        import subprocess
        args=['mplex','-f8',self._videoPath,self._audioPath,'-o',self._finalPath+'.mpg']
    
    try:
            subprocess.Popen(args)
        except Exception,e:
        print "Trying to launch mplex with args : %s" % args
        print e



if __name__=="__main__":
    
    root = Main() 
    root.title('Encode using mplex')
    root.mainloop()

----------------------
Linux on the Root , un site qu'il fait bon feuilleter!
----------------------
PyQtRadio, un lecteur de webradio simple et léger! Installation multi-distrib'

Hors ligne

#10 Le 11/06/2008, à 11:59

casimir

Re : Python inserer du texte dans le script

Oui je sais bien, mais je suis un peu perdu dans la doc, l'exemple que tu vient de me donner m'apporte beaucoup et avec la doc il faut aussi apprendre le vocabulaire python.
Je suis trés motivé d'en apprendre plus, je veux aller sans doute trop vite.

J'ai essayer plein de chose et rien n'a marché dans le script, je vais essayer de lui ajouter une fenetre dde progression, j'ai bien trouver des exemples, mais le codage ne ressemble pas au script que tu a fait.
J'ai aussi essayer de lui donner une dimension (a la fenetre) sans resultat, j'y suis seulement arrivé mais cela modifie aussi la taille des boutons. Je vais m'entariner et relire la doc. mais des exemples sont plus facile a comprendre que la doc.
Merci encore.

Dernière modification par casimir (Le 11/06/2008, à 12:14)

Hors ligne

#11 Le 11/06/2008, à 17:48

Jean-Julien

Re : Python inserer du texte dans le script

Moi, je te conseille de commencer à lire la doc par le DEBUT, de bien assimiler les bases et de FAIRE les exercices (très important !!!) qui sont dans le bouquin que je t'ai renseigné.
Il faut partir sur une BONNE BASE, c'est essentiel.
smile

Hors ligne

#12 Le 11/06/2008, à 21:56

casimir

Re : Python inserer du texte dans le script

Pour moi l'exercice c'est un peu le script d'on a a parlé plus haut, ca va me permettre de comprendre la doc en quelques sorte. Mais je vois que si je veux me faire un script (comme je le disait j'ai plein d'idées qui me viennent) il faut que je travaille,  je manque réellement de temps, mais ca en vaut la chandelle, je ne pensait meme pas il y a quelques mois que c'a pouvait etre a ma portée, alors certes j'en suis loin, mais l'approche est bonne.
A bientot.

Hors ligne

#13 Le 11/06/2008, à 22:09

Jean-Julien

Re : Python inserer du texte dans le script

Ne te sous-estimes pas, ça peut venir plus vite que tu ne crois !
N'hésites pas à prendre des notes et il ne faut pas avoir peur de poser des bêtes questions, ça vaut mieux que de nourrir de sottes erreurs.
wink

Hors ligne