Chargement en cours pupitre.py +21 −13 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -51,9 +51,10 @@ class Pupitre: def boutons(self): # affiche du logo de la radio sélectionnée >>> placer ici l'icone de la radio en 200x200 lbl_nom_radio = tk.Label(self.menu, text="...", anchor=CENTER) lbl_nom_radio.config(bg="lightgray", fg="black") lbl_nom_radio.place(width=225, height=225, x=38, y=38) self.lbl_radio_selected = ttk.Label(self.menu) # self.lbl_radio_selected.config(bg="lightgray", fg="black") self.lbl_radio_selected.place(width=225, height=225, x=38, y=38) # Position d'origine du menu boutons x_menu = 0 Chargement en cours Chargement en cours @@ -90,7 +91,7 @@ class Pupitre: # boutons de coupure et rétablissement du son self.btn_mute = ttk.Button(self.menu, image=self.icon_sound, text="Mute", command=self.switch_sound, style="BW.TLabel") self.btn_mute.place(width=40, height=32, x=x_menu + 245, y=y_menu + 70) self.btn_mute.place(width=30, height=32, x=x_menu + 245, y=y_menu + 70) def mosaique(self): # récupération de la liste des radios (+infos) et affichage de la mosaïque de logos self.logo = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""] Chargement en cours @@ -113,15 +114,22 @@ class Pupitre: # création du bouton avec le logo de la radio btn_logo = tk.Button(self.zone_mosaique, image=self.logo[num_radio]) # utilisation d'une fonction 'lambda' indexée sur la position du logo # btn_logo.config(command=lambda flux=radios_list[num_radio]['Url']: self.radio_flux(flux)) btn_logo.config(command=lambda flux=radios_list[num_radio]['Url']: self.radio_flux(flux)) btn_logo.config( command=lambda flux=radios_list[num_radio]['Url'], num_radio=num_radio: self.radio_selected(flux, num_radio)) btn_logo.place(width=100, height=100, x=x_logo * 100, y=y_logo * 100) except: # quand le nombre de radios est < 20 pass def radio_select(self): pass def radio_selected(self, flux, num_radio): self.radio_flux(flux) # affichage de la radio sélectionnée 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 self.logo_selected = tk.PhotoImage(file="images/" + radios_list[num_radio]['Logo']) self.lbl_radio_selected.config(image=self.logo_selected) def switch_sound(self): # bascule on/off du son global mute Chargement en cours Chargement en cours
pupitre.py +21 −13 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -51,9 +51,10 @@ class Pupitre: def boutons(self): # affiche du logo de la radio sélectionnée >>> placer ici l'icone de la radio en 200x200 lbl_nom_radio = tk.Label(self.menu, text="...", anchor=CENTER) lbl_nom_radio.config(bg="lightgray", fg="black") lbl_nom_radio.place(width=225, height=225, x=38, y=38) self.lbl_radio_selected = ttk.Label(self.menu) # self.lbl_radio_selected.config(bg="lightgray", fg="black") self.lbl_radio_selected.place(width=225, height=225, x=38, y=38) # Position d'origine du menu boutons x_menu = 0 Chargement en cours Chargement en cours @@ -90,7 +91,7 @@ class Pupitre: # boutons de coupure et rétablissement du son self.btn_mute = ttk.Button(self.menu, image=self.icon_sound, text="Mute", command=self.switch_sound, style="BW.TLabel") self.btn_mute.place(width=40, height=32, x=x_menu + 245, y=y_menu + 70) self.btn_mute.place(width=30, height=32, x=x_menu + 245, y=y_menu + 70) def mosaique(self): # récupération de la liste des radios (+infos) et affichage de la mosaïque de logos self.logo = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""] Chargement en cours @@ -113,15 +114,22 @@ class Pupitre: # création du bouton avec le logo de la radio btn_logo = tk.Button(self.zone_mosaique, image=self.logo[num_radio]) # utilisation d'une fonction 'lambda' indexée sur la position du logo # btn_logo.config(command=lambda flux=radios_list[num_radio]['Url']: self.radio_flux(flux)) btn_logo.config(command=lambda flux=radios_list[num_radio]['Url']: self.radio_flux(flux)) btn_logo.config( command=lambda flux=radios_list[num_radio]['Url'], num_radio=num_radio: self.radio_selected(flux, num_radio)) btn_logo.place(width=100, height=100, x=x_logo * 100, y=y_logo * 100) except: # quand le nombre de radios est < 20 pass def radio_select(self): pass def radio_selected(self, flux, num_radio): self.radio_flux(flux) # affichage de la radio sélectionnée 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 self.logo_selected = tk.PhotoImage(file="images/" + radios_list[num_radio]['Logo']) self.lbl_radio_selected.config(image=self.logo_selected) def switch_sound(self): # bascule on/off du son global mute Chargement en cours