programmation graphique linux - Programmation
TomsGuide.com : 700 000 inscrits répondent à toutes vos questions high-tech et informatique.
Pour obtenir de l'aide, inscrivez-vous gratuitement !
 




Mot :   Pseudo :  
 
 Page : 1 2
Page Précédente
Auteur
 Sujet : programmation graphique linux
 
Profil : IDNaute
Plus d'informations

bonjour

j'ai créer ce petit programme en shell et je voudrai maintenant essayer de lui donner une interphace graphique simple. En kler créer un bouton pour chaque radio et quand je click sur un bouton sa me lance la radio ... sa mévitera a chaque foi de tapé le nombre de la radio ..

Si quelqu'un a une idée pour modifier mon script pour pouvoir changer de radio s'en redemarer le programme sa sera pas mal aussi

merci

#!/bin/sh
mplayer="`which mplayer` -cache 256 -ao alsa -vc dummy -vo null"
mplayervideo="`which mplayer` -cache 256 -vo xv"
echo -e '\033[36;40m' && clear
echo -e "\033[1;31m"
cat << EOF

Radio Corse | Radio National | Radio House-Music |
----------- | -------------- | ----------------- |
| | |
6) Alta Frequenza | 1) Cherie FM | 7) Radio FG |
9) Radio Corti Vivu | 2) Fun Radio | 8) Radio FG Underground |
10) RCFM | 3) NrJ | 11) WwW.di.fm : House |
| 4) Nostalgie | |
| 5) Le Mouv' | |



EOF
echo -e "\033[1;37m"
echo -n "Quelle radio écouter [defaut : 1] ?> "
read num
[ "$num" = "" ] && num=1
echo -e "\033[1;36m"
case $num in
"1" ) $mplayer mms://vip1.yacast.fr/encodercheriefm ;;
"2" ) $mplayer mms://vip2.yacast.fr/encoderfun ;;
"3" ) $mplayer mms://vip1.yacast.fr/encodernrj ;;
"4" ) $mplayer mms://vip1.yacast.fr/encodernostalgie ;;
"5" ) $mplayer mms://viptvr.yacast.fr/encoderlemouv ;;
"6" ) $mplayer http://alta-frequenza.streamfr.com:8061/listen.pls ;;
"7" ) $mplayer http://87.98.197.99:8000 ;;
"8" ) $mplayer http://ufg.impek.tv ;;
"9" ) $mplayer rtsp://a1251.l252147863.c2521.e.lr.akamaistream.net/live/D/1251/2521/666/reflector:47863?site ;;
"10" ) $mplayer mms://wm02.tv-radio.com/fbfrequenzamora-16k?site;;
"11" ) $mplayer http://www.di.fm/mp3/house.pls
esac



Liens sponsorisés


Inscrivez-vous ou connectez-vous pour masquer ceci.

Profil : IDNaute
Plus d'informations

Je n'ai jamais vu un programme shell pour du graphisme, car ce n'est pas son but. Peut-être que tu peux lancer un Tk et utiliser ces commandes, mais dans ce cas, autant programmer avec un autre langage de script tel que Tcl/Tk ou Python.

Profil : IDNaute
Plus d'informations

mon but n'ai pas de faire du shell en graphique mais de traduire de script dans n'importe quel language pour pouvoir créer une interface graphique

au lieu de taper un numéro pour que le programme lise la radio que je veux

je voudrai juste avoir a clicker sur un bouton

mais je ne c pas quel language serai le plus approprier et surtout avec kel logiciel le faire et comment le faire

Profil : IDNaute
Plus d'informations

Tu peux le faire en python avec tkinter.

Profil : IDNaute
Plus d'informations

tu orai pas un tuto ki explike comment je pe faire

Profil : IDNaute
Plus d'informations

jai réussi a créer un bouton mais jarrive pas a faire ke ken je clique il démarre mplayer et il me li mms://vip1.yacast.fr/encodercheriefm

comme ken je tape $mplayer mms://vip1.yacast.fr/encodercheriefm sous shell

Profil : IDNaute
Plus d'informations

en python ?

Code :
  1. import os
  2. os.system(mplayer mms://vip1.yacast.fr/encodercheriefm)



Pour l'interface graphique, il y a:
http://www.pythonware.com/library/an-introduction-to-tkinter.htm
Mais je pense qu'il y a mieux ailleurs

Profil : IDNaute
Plus d'informations

mais comment j'introduit cette commande dans la commande d'un bouton j'ai réussi a créer un bouton mais ken j'introduit la commande que tu ma donné il me dit syntax error ...

Profil : IDNaute
Plus d'informations

j'ai créer l'interface graphique du programme que je voudrai, je c c très basique mais je mattarderai sur cette interface quand tous marchera ...

from Tkinter import *
root=Tk()

texte=Label(root, text="Radio National",fg="red" )
texte.pack(side=TOP)

bouton=Button(root,text=' Cherie FM ', command=root.quit)
bouton.pack(side=TOP)


bouton2=Button(root,text=' Fun-Radio ', command=root.quit)
bouton2.pack(side=TOP)

bouton3=Button(root,text=' NrJ ', command=root.quit)
bouton3.pack(side=TOP)

bouton4=Button(root,text=' Nostalgie ', command=root.quit)
bouton4.pack(side=TOP)

bouton5=Button(root,text=' Le Mouv ', command=root.quit)
bouton5.pack(side=TOP)

texte=Label(root, text="Radio Corse",fg="red" )
texte.pack(side=TOP)

bouton6=Button(root,text=' Alta Frequenza ', command=root.quit)
bouton6.pack(side=TOP)

bouton7=Button(root,text='Radio Corti Vivu', command=root.quit)
bouton7.pack(side=TOP)

bouton8=Button(root,text='RCFM', command=root.quit)
bouton8.pack(side=TOP)

texte=Label(root, text="Radio House-Music",fg="red" )
texte.pack(side=TOP)

bouton9=Button(root,text='Radio FG', command=root.quit)
bouton9.pack(side=TOP)

bouton10=Button(root,text='Radio FG Underground', command=root.quit)
bouton10.pack(side=TOP)

bouton11=Button(root,text='WwW.di.fm : House', command=root.quit)
bouton11.pack(side=TOP)

root.mainloop()


Donc j'ai tous mes bouton et jai mis la commande quitter quand je click dessus pour tester si sa marcheai tous marche

maintenant j'aimerai pouvoir cliquer sur chaque bouton et que le programme me lance ladresse mplayer correspondant

Profil : IDNaute
Plus d'informations

D'abord tu définis une fonction qui sera l'action du bouton:

Code :
  1. def maFonction():
  2.     print "hello"



Ensuite, tu associes la fonction au bouton quand tu le crée. Par exemple:

Code :
  1. bouton=Button(root,text=' Cherie FM ', command=maFonction)



Et là, à chaque fois que tu cliqueras sur le bouton, la fonciton maFonction() sera appelée

Profil : IDNaute
Plus d'informations

ok mais quel fonction me permettrai de pourvoir lancer mplayer pour pouvoir lire une adresse

Profil : IDNaute
Plus d'informations

ben au lieu de faire un print, tu fais un os.system()

Profil : IDNaute
Plus d'informations

j'ai défini la fonction comme ceci :

def maFonction():
os.system(mplayer mms://vip1.yacast.fr/encodercheriefm)

mais quand j'execute le programme il me dit syntax error

Profil : IDNaute
Plus d'informations

j'ai changer la syntax et j'ai écrit la fonction comme ceci :

def maFonction():
os.system("mplayer mms://vip1.yacast.fr/encodercheriefm" )


le programme ce lance bien j'ai l'interface graphique mais quand je click sur le bouton la console m'affiche :

Exception in Tkinter callback
Traceback (most recent call last):
File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 1345, in __call__
return self.func(*args)
File "programme1.py", line 4, in maFonction
os.system("mplayer mms://vip1.yacast.fr/encodercheriefm" )
NameError: global name 'os' is not defined

Profil : IDNaute
Plus d'informations

Pense à mettre l'indentation pour tout ce qui est dans la fonction, car python utilise l'indentation pour définir les blocks de code.
l'erreur te dit que "os" n'existe pas, c'est parce que tu n'as pas fait l'import de la lib correspondante.
ajoute en d