#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
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"
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
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.
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.
Hors ligne