Commit ccc82f8d authored by Thorfin89's avatar Thorfin89

Appel à l'aide de tchat GPT :-D

parent 4108d057
...@@ -32,7 +32,38 @@ def radios_display(self): # récupération de la liste des radios (+infos) ...@@ -32,7 +32,38 @@ def radios_display(self): # récupération de la liste des radios (+infos)
``` ```
### Comment appeler une fonction avec une variable en utilisant un bouton sous tkinter ?:
##### Solution trouvée via tchat GPT :-D
Avec Tkinter, vous pouvez utiliser la méthode `command` pour spécifier une fonction à exécuter lorsque le bouton est cliqué. Voici un exemple de comment appeler une fonction avec une variable en utilisant un bouton sous Tkinter:
```python
import tkinter as tk
def function_to_call(variable):
print(variable)
root = tk.Tk()
button = tk.Button(root, text="Click me!", command=lambda: function_to_call(variable))
button.pack()
variable = "Some value"
root.mainloop()
```
Dans cet exemple, `function_to_call` est la fonction qui sera appelée lorsque le bouton est cliqué, et `variable` est la variable qui sera passée en argument à cette fonction. La fonction lambda créée un wrapper qui exécute la fonction avec la variable passée comme argument
Il est également possible de passer des arguments à la fonction directement en utilisant `button = tk.Button(root, text="Click me!", command=lambda x=variable: function_to_call(x))`, cela permet de passer des arguments à la fonction commande.
### SOURCES : ### SOURCES :
#### Liste de radios :
- http://fluxradios.blogspot.fr
#### Doc python-vlc : #### Doc python-vlc :
- https://www.olivieraubert.net/vlc/python-ctypes/doc/vlc.MediaPlayer-class.html - https://www.olivieraubert.net/vlc/python-ctypes/doc/vlc.MediaPlayer-class.html
- https://stackoverflow.com/questions/46758360/how-to-play-streaming-audio-from-internet-radio-on-python-3-5-3 - https://stackoverflow.com/questions/46758360/how-to-play-streaming-audio-from-internet-radio-on-python-3-5-3
......
...@@ -7,8 +7,8 @@ def _media_cb(event, *unused): ...@@ -7,8 +7,8 @@ def _media_cb(event, *unused):
p = MediaPlayer() p = MediaPlayer()
# cmd1 = "sout=file/ts:%s" % outfile # cmd1 = "sout=file/ts:%s" % outfile
media = Media("http://live.leanstream.co/CJOTFM-MP3") # , cmd1) #media = Media("http://live.leanstream.co/CJOTFM-MP3") # , cmd1)
# media = Media("http://direct.francemusique.fr/live/francemusique-midfi.mp3") media = Media("http://scdn.nrjaudio.fm/adwz2/fr/30601/mp3_128.mp3?origine=fluxradios")
# media.get_mrl() # media.get_mrl()
p.set_media(media) p.set_media(media)
p.play() p.play()
......
Nom,Pays,Type,Url,Logo Nom,Pays,Type,Url,Logo
France Inter,FR,Généraliste,http://direct.franceinter.fr/live/franceinter-midfi.mp3,france-inter.png
France Musique,FR,Classique,http://direct.francemusique.fr/live/francemusique-midfi.mp3,france-musique.png
France Bleue Auxerre,FR,Régionale,http://direct.francebleu.fr/live/fbauxerre-midfi.mp3,fb-auxerre.png France Bleue Auxerre,FR,Régionale,http://direct.francebleu.fr/live/fbauxerre-midfi.mp3,fb-auxerre.png
France Bleue Isère,FR,Régionale,http://direct.francebleu.fr/live/fbisere-midfi.mp3,fb-isere.png France Bleue Isère,FR,Régionale,http://direct.francebleu.fr/live/fbisere-midfi.mp3,fb-isere.png
France Bleu Armorique,FR,Régionale,http://direct.francebleu.fr/live/fbarmorique-midfi.mp3,fb-armorique.png France Bleu Armorique,FR,Régionale,http://direct.francebleu.fr/live/fbarmorique-midfi.mp3,fb-armorique.png
France Info,FR,Informations,http://direct.franceinfo.fr/live/franceinfo-midfi.mp3,france-info.png France Info,FR,Informations,http://direct.franceinfo.fr/live/franceinfo-midfi.mp3,france-info.png
France Inter,FR,Généraliste,http://direct.franceinter.fr/live/franceinter-midfi.mp3,france-inter.png
Europe 1,FR,Généraliste,http://mp3lg4.tdf-cdn.com/9240/lag_180945.mp3,europe-1.png
Dépèche Mode,UK,Rock,http://streaming.radionomy.com/wwwdepechemodebe-radio,dempechemode.png Dépèche Mode,UK,Rock,http://streaming.radionomy.com/wwwdepechemodebe-radio,dempechemode.png
Live Ireland ch1,DE,Celtic,http://66.90.73.250:8080,live-ireland.png Live Ireland ch1,DE,Celtic,http://66.90.73.250:8080,live-ireland.png
Bretagne Blog,DE,Celtic,http://laut.fm/bretagneblog,bretagneblog.png Bretagne Blog,DE,Celtic,http://laut.fm/bretagneblog,bretagneblog.png
...@@ -13,7 +13,9 @@ Celtic Moon,DE,Celtic,http://streaming211.radionomy.com:80/CelticMoon, ...@@ -13,7 +13,9 @@ Celtic Moon,DE,Celtic,http://streaming211.radionomy.com:80/CelticMoon,
DE,Celtic-punk,Celtic-Folk-Punk,http://streaming211.radionomy.com:80/Celtic-Folk-Punk,celtik-folk-punk.png DE,Celtic-punk,Celtic-Folk-Punk,http://streaming211.radionomy.com:80/Celtic-Folk-Punk,celtik-folk-punk.png
DE,Hard-rock,100% Hardrock,http://streaming207.radionomy.com:80/100-HARD-ROCK,100-hard-rock.png DE,Hard-rock,100% Hardrock,http://streaming207.radionomy.com:80/100-HARD-ROCK,100-hard-rock.png
Virgin Rock 70,DE,Rock,http://icy.unitedradio.it/VirginRock70.mp3,virginrock70.png Virgin Rock 70,DE,Rock,http://icy.unitedradio.it/VirginRock70.mp3,virginrock70.png
France Musique,FR,Classique,http://direct.francemusique.fr/live/francemusique-midfi.mp3,france-musique.png
Jazz Radio,FR,Jazz,http://jazzradio.ice.infomaniak.ch/jazzradio-high.mp3,jazz-radio.png Jazz Radio,FR,Jazz,http://jazzradio.ice.infomaniak.ch/jazzradio-high.mp3,jazz-radio.png
TSF Jazz,FR,Jazz,http://tsfjazz.ice.infomaniak.ch/tsfjazz-high.mp3,tsf-jazz.png TSF Jazz,FR,Jazz,http://tsfjazz.ice.infomaniak.ch/tsfjazz-high.mp3,tsf-jazz.png
Boom FM Ottawa,CA,Rock,http://live.leanstream.co/CJOTFM-MP3,boom-ottawa.png Boom FM Ottawa,CA,Rock,http://live.leanstream.co/CJOTFM-MP3,boom-ottawa.png
Europe 1,FR,Généraliste,http://mp3lg4.tdf-cdn.com/9240/lag_180945.mp3,europe-1.png
RTL,FR,Généraliste,http://streaming.radio.rtl.fr/rtl-1-48-192,rtl.png
Nostalgie,FR,Divers,http://scdn.nrjaudio.fm/adwz2/fr/30601/mp3_128.mp3?origine=fluxradios,nostalgie.png
\ No newline at end of file
images/rtl.png

9.95 KB | W: | H:

images/rtl.png

1.81 KB | W: | H:

images/rtl.png
images/rtl.png
images/rtl.png
images/rtl.png
  • 2-up
  • Swipe
  • Onion skin
...@@ -47,21 +47,9 @@ class Radio(Pupitre): ...@@ -47,21 +47,9 @@ class Radio(Pupitre):
config_file.close() config_file.close()
self.player.audio_set_volume(volume_init) self.player.audio_set_volume(volume_init)
''' def test(self, arg):
def radios_display(self): # récupération de la liste des radios (+infos) print(arg)
logos = [["", "", "", "", ""],
["", "", "", "", ""],
["", "", "", "", ""],
["", "", "", "", ""]]
with open("./data/radios.csv", 'r', encoding='utf8') as radios_file:
radios_list = csv.DictReader(radios_file)
radios_list = [dict(ligne) for ligne in radios_list] # transforme en liste de dictionnaires
# print(radios_dico)
nb_radios = (len(radios_list)) # détermine le nombre de radios (dictionnaires)
print(radios_list[3]['Nom']) # extrait le nom de la 4ème radio
for c in range(nb_radios): # affiche la liste des 14 radios
print(radios_list[c]['No'], ":", radios_list[c]['Nom'])
'''
app = Radio() # instancie l'application app = Radio() # instancie l'application
app.boucle() app.boucle()
...@@ -94,6 +94,7 @@ class Pupitre: ...@@ -94,6 +94,7 @@ class Pupitre:
with open("./data/radios.csv", 'r', encoding='utf8') as radios_file: with open("./data/radios.csv", 'r', encoding='utf8') as radios_file:
radios_list = csv.DictReader(radios_file) radios_list = csv.DictReader(radios_file)
radios_list = [dict(ligne) for ligne in radios_list] # transforme en liste de dictionnaires radios_list = [dict(ligne) for ligne in radios_list] # transforme en liste de dictionnaires
compt = 0 # pour incrementation du numéro de la radios compt = 0 # pour incrementation du numéro de la radios
# boucles de remplissage de la zone des logos # boucles de remplissage de la zone des logos
...@@ -108,7 +109,7 @@ class Pupitre: ...@@ -108,7 +109,7 @@ class Pupitre:
self.logo[compt] = tk.PhotoImage(file="images/blank.png") self.logo[compt] = tk.PhotoImage(file="images/blank.png")
# création du bouton avec le logo de la radio # création du bouton avec le logo de la radio
btn_logo = tk.Button(self.zone_logos, image=self.logo[compt], command=None) btn_logo = tk.Button(self.zone_logos, image=self.logo[compt], command=lambda:self.test(compt))
btn_logo.place(width=100, height=100, x=x_logo * 100, y=y_logo * 100) btn_logo.place(width=100, height=100, x=x_logo * 100, y=y_logo * 100)
compt += 1 compt += 1
......
71 86
\ No newline at end of file \ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment