Générateur d'images aléatoires
Fermé
pelopelo4
-
23 juin 2022 à 04:11
Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 - 27 juin 2022 à 12:04
Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 - 27 juin 2022 à 12:04
A voir également:
- Image aléatoire google
- Google maps satellite - Guide
- Dns google - Guide
- Google earth - Télécharger - 3D
- Google - Guide
- Créer un compte google - Guide
6 réponses
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
168
Modifié le 23 juin 2022 à 11:05
Modifié le 23 juin 2022 à 11:05
Bonjour,
Moi, je ne m'embêterais pas à faire apparaitre et disparaitre des boutons, je ferais 3 listes déroulantes (Combobox) et un bouton pour afficher la recette en fonction des 3 choix:
La recette s'afficherait dans un Canvas à droite des 3 listes, tout simplement
De plus, le choix de la recette n'a pas l'air simple
Une recette donnée est forcément soit facile, soit difficile soit moyenne, pas les 3 à la fois
idem pour le prix et le temps
Donc une recette donnée est, par exemple, facile ET en - de 15mn ET bon marché
Je nommerais donc l'image f_15_bm.png
Ensuite, je reconstituerais la chaine de caractères en fonction des 3 choix des 3 listes déroulantes et ça donnerait automatiquement le nom de l'image à afficher
(et un seul dossier pour toutes les images)
Moi, je ne m'embêterais pas à faire apparaitre et disparaitre des boutons, je ferais 3 listes déroulantes (Combobox) et un bouton pour afficher la recette en fonction des 3 choix:
La recette s'afficherait dans un Canvas à droite des 3 listes, tout simplement
De plus, le choix de la recette n'a pas l'air simple
Une recette donnée est forcément soit facile, soit difficile soit moyenne, pas les 3 à la fois
idem pour le prix et le temps
Donc une recette donnée est, par exemple, facile ET en - de 15mn ET bon marché
Je nommerais donc l'image f_15_bm.png
Ensuite, je reconstituerais la chaine de caractères en fonction des 3 choix des 3 listes déroulantes et ça donnerait automatiquement le nom de l'image à afficher
(et un seul dossier pour toutes les images)
yg_be
Messages postés
23405
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 décembre 2024
Ambassadeur
1 557
23 juin 2022 à 10:04
23 juin 2022 à 10:04
bonjour,
As-tu déjà de l'expérience avec tkinter?
Si tu commences avec la programmation orienté objet, je pense préférable de faire d'abord des exercices beaucoup plus simples.
As-tu déjà de l'expérience avec tkinter?
Si tu commences avec la programmation orienté objet, je pense préférable de faire d'abord des exercices beaucoup plus simples.
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
168
Modifié le 23 juin 2022 à 12:19
Modifié le 23 juin 2022 à 12:19
Le choix de l'image me parait plus simple comme ça
Evidemment que tu n'as pas qu'une seule recette de ce type, tu peux ajouter un indice à la fin:
f_15_bm_01.png
f_15_bm_02.png
d_30_c_01.png
etc ...
Lorsque tu as reconstitué la 1ere partie de la chaine, par exemple f_15_bm, tu en tire une au hasard parmi celles qui commencent comme ça, et tu l'affiche
Pour ce qui est du widget Combobox, tu trouveras plein de tutos sur Internet
En gros ça donne ça:
as-tu installé le module PIL sur ton PC ?
si oui, il faut écrire en en-tete de code:
Est-ce que l'on t'impose la POO ou pas ?
Evidemment que tu n'as pas qu'une seule recette de ce type, tu peux ajouter un indice à la fin:
f_15_bm_01.png
f_15_bm_02.png
d_30_c_01.png
etc ...
Lorsque tu as reconstitué la 1ere partie de la chaine, par exemple f_15_bm, tu en tire une au hasard parmi celles qui commencent comme ça, et tu l'affiche
Pour ce qui est du widget Combobox, tu trouveras plein de tutos sur Internet
En gros ça donne ça:
def valeur_combo_1(evt): choix_difficulte = liste_1.get() liste_1=["Facile","Moyen","Difficile"] c1 = ttk.Combobox(fenetre_principale, values=liste_1) c1.current(0) c1.bind("<<ComboboxSelected>>", valeur_combo_1)
as-tu installé le module PIL sur ton PC ?
si oui, il faut écrire en en-tete de code:
from PIL import Image, ImageTk
Est-ce que l'on t'impose la POO ou pas ?
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
168
Modifié le 23 juin 2022 à 13:37
Modifié le 23 juin 2022 à 13:37
Si tu n'as pas installé PIL il faut le faire d'abord
Moi, sous Python 3.7.2, j'ai fait ça:
Ensuite, on ne donne jamais de code tout fait sur ce forum, mais plutôt des pistes, des conseils ...
Ce que tu vois sur mon image a été fait sans POO..
Affiche nous ici ce que tu as déjà essayé, avec les balises de code:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
"Comment associer mes listes à la sélection de l'utilisateur ?"
Si tu nommes tes images comme dans mes exemples, tu peux faire ça:
tu récupères les 3 critères des 3 listes déroulantes, comme dans l'exemple que je t'ai donné plus haut,
dans 3 variables difficulté, temps et prix
Tu concatènes les 3 pour former le début du nom d'image:
nom_img = difficulte+'_'+temps+'_'+prix, ca donne, par exemple : "f_15_bm"
Ensuite tu parcours ton répertoire d'images pour chercher les fichiers .png (il y a un module glob pour ça)
et tu ajoutes dans une liste les noms qui commencent par nom_img
Tu tires un nom de la liste au hasard (grâce au module random) et tu l'affiches avec une fonction déclenchée par le bouton "afficher recette" :
img étant l'objet créé par PIL avec ton nom de fichier .png
Moi, sous Python 3.7.2, j'ai fait ça:
Ensuite, on ne donne jamais de code tout fait sur ce forum, mais plutôt des pistes, des conseils ...
Ce que tu vois sur mon image a été fait sans POO..
Affiche nous ici ce que tu as déjà essayé, avec les balises de code:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
"Comment associer mes listes à la sélection de l'utilisateur ?"
Si tu nommes tes images comme dans mes exemples, tu peux faire ça:
tu récupères les 3 critères des 3 listes déroulantes, comme dans l'exemple que je t'ai donné plus haut,
dans 3 variables difficulté, temps et prix
Tu concatènes les 3 pour former le début du nom d'image:
nom_img = difficulte+'_'+temps+'_'+prix, ca donne, par exemple : "f_15_bm"
Ensuite tu parcours ton répertoire d'images pour chercher les fichiers .png (il y a un module glob pour ça)
et tu ajoutes dans une liste les noms qui commencent par nom_img
Tu tires un nom de la liste au hasard (grâce au module random) et tu l'affiches avec une fonction déclenchée par le bouton "afficher recette" :
mon_canevas.create_image(0,0,image = img, anchor = 'nw')
img étant l'objet créé par PIL avec ton nom de fichier .png
Okay, j'étais au boulot désolé,
Alors mon code a un peu évolué depuis ça donne ça :
J'ai tout compris ton dernier message, je suis allez voir le module glob c'est top je vais essayer, par contre toujours pas moyen de savoir quand est-ce qu'il faut utiliser la POO et comment l'utiliser ; faut-il le faire pour tout les variables ? Quel sont les objets que je peux créer qui me faciliterai la vie et quoi mettre dedans ?
Pour tkinter, comment mettre un Canvas avec une image dessus pour afficher la recette ?
J'ai mis les dernière lignes en commentaire car c'est ce que je voulais faire avant que tu me donne ta méthode, et je n'ai pas encore importé le module PIL ni fais les changement de ton dernier message.
Merci beaucoup j'apprécie vraiment le coup de pouce.
Alors mon code a un peu évolué depuis ça donne ça :
class Application(object): def __init__(self): self.root = Tk() self.root.title("Cuisto sous la manche") self.root.geometry("900x500") self.root.resizable(width=False, height=False) Canvas(self.root,) Button(self.root, text="Temps : <15min").grid(row=1, column=1) Button(self.root, text="Temps : <30min").grid(row=1, column=2) Button(self.root, text="Temps : >30min").grid(row=1, column=3) self.root.mainloop() def valeur_combo_1(): choix_difficulte = liste_1.get() liste_1 = ["Temps : <15min", "Temps : <30min", "Temps : >30min"] c1 = ttk.Combobox(fenetre_principale, values=liste_1) c1.current(0) c1.bind("<<ComboboxSelected>>", valeur_combo_1) liste_2 = ["Facile", "Moyen", "Difficile"] c1 = ttk.Combobox(fenetre_principale, values=liste_2) c1.current(0) c1.bind("<<ComboboxSelected>>", valeur_combo_1) liste_3 = ["bon marché", "cher"] c1 = ttk.Combobox(fenetre_principale, values=liste_3) c1.current(0) c1.bind("<<ComboboxSelected>>", valeur_combo_1) # Programme principal : if __name__ == '__main__': from tkinter import * f = Application() # instanciation de l'objet application import random from tkinter import * # GUI from tkinter.ttk import * # Widgets avec thèmes All = list( ["Croque-monsieur.png", "Fondue.png", "Burger.png", "Wraps.png", "Sandwich.png", "Tacos.png", "Escalopes-de-veau-a-la-creme.png", "Hot-dog-a-la-vachette.png", "Tagliatelles-au-saumon", "Crepes", "Mac-and-cheese", "Pates-carbonara", "Sole-meuniere.png", "Steak-de-thon.png", "Riz-cantonais.png", "Steak-tartare.png", "Escalopes-milanaises.png", "Poulet-curry.png", "Risotto-au-chorizo.png", "Pates-aux-crevettes.png", "Tagliata-de-boeuf.png", "Galettes-de-pommes-de-terre.png", "Poulet-au-roquefort.png", "Filet-de-truite-saumonee.png", "Tartiflette.png", "Hachis-parmentier.png", "Gnocchis.png", "Porc-au-caramel.png", "Poulet-et-creme-de-citron.png", "Pommes-de-terre-farcies.png", "Filet-mignon-de-porc-a-la-moutarde.png", "Poulet-de-Bresse.png", "Jambalaya-poulet.png"]) #iq= "<15" ; it= "<30" ; st= ">30" #s=simple ; m=moyen ; d=difficile; #bm=bon marché ; c=cher iq_s_bm=list( ["Croque-monsieur.png", "Burger.png", "Wraps.png", "Sandwich.png", "Hot-dog-a-la-vachette.png", "Crepes", "Mac-and-cheese", "Pates-carbonara"]) iq_m_bm=list( ["Tacos.png", "Escalopes-de-veau-a-la-creme.png", "Tagliatelles-au-saumon"]) iq_m_c=list( ["Fondue.png"]) it_s_bm=list( ["Galettes-de-pommes-de-terre.png", "Risotto-au-chorizo.png"]) it_s_c=list( ["Pates-aux-crevettes.png"]) it_m_bm=list( ["Poulet-au-roquefort.png", "Escalopes-milanaises.png"]) it_m_c=list( ["Sole-meuniere.png", "Steak-de-thon.png", "Steak-tartare.png", "Tagliata-de-boeuf.png"]) it_d_bm=list( ["Poulet-curry.png", "Riz-cantonais.png"]) it_d_c=list( ["Filet-de-truite-saumonee.png"]) st_s_bm=list( ["Galettes-de-pommes-de-terre.png","Hachis-parmentier.png"]) st_s_c=list( ["Porc-au-caramel.png"]) st_m_bm=list( ["Tartiflette.png","Poulet-et-creme-de-citron.png"]) st_m_c=list( ["Filet-mignon-de-porc-a-la-moutarde.png", "Jambalaya-poulet.png"]) st_d_bm=list( ["Gnocchis.png"]) st_d_c=list( ["Poulet-de-Bresse.png"]) """ a1 = str(random.choice(infQuinze)) def cmd(image): PhotoImage(file=("<15/" + a1)) """
J'ai tout compris ton dernier message, je suis allez voir le module glob c'est top je vais essayer, par contre toujours pas moyen de savoir quand est-ce qu'il faut utiliser la POO et comment l'utiliser ; faut-il le faire pour tout les variables ? Quel sont les objets que je peux créer qui me faciliterai la vie et quoi mettre dedans ?
Pour tkinter, comment mettre un Canvas avec une image dessus pour afficher la recette ?
J'ai mis les dernière lignes en commentaire car c'est ce que je voulais faire avant que tu me donne ta méthode, et je n'ai pas encore importé le module PIL ni fais les changement de ton dernier message.
Merci beaucoup j'apprécie vraiment le coup de pouce.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
168
24 juin 2022 à 11:07
24 juin 2022 à 11:07
Bonjour,
Moi, si je débutais, je ferais ca étape par étape : sans POO pour commencer, pour tester la mécanique, j'ajouterais la POO en dernier
Pour créer un Canvas et mettre une image, tu peux aller sur Internet, c'est bien expliqué
Remarques:
On met toujours les imports en début de programme, pas au milieu du code comme tu le fais
Ligne 8,9,10 tu as toujours 3 boutons, ce n'est pas ce que l'on a dit
Il te faut 3 fonctions comme valeur_combo_1() pour récupérer les 3 valeurs des 3 Combobox
Les noms des images ne suivent pas la méthode que je t'ai donnée, mais bon, tu fais comme tu veux ..
Moi, si je débutais, je ferais ca étape par étape : sans POO pour commencer, pour tester la mécanique, j'ajouterais la POO en dernier
Pour créer un Canvas et mettre une image, tu peux aller sur Internet, c'est bien expliqué
Remarques:
On met toujours les imports en début de programme, pas au milieu du code comme tu le fais
Ligne 8,9,10 tu as toujours 3 boutons, ce n'est pas ce que l'on a dit
Il te faut 3 fonctions comme valeur_combo_1() pour récupérer les 3 valeurs des 3 Combobox
Les noms des images ne suivent pas la méthode que je t'ai donnée, mais bon, tu fais comme tu veux ..
pelopelo4
Messages postés
1
Date d'inscription
dimanche 26 juin 2022
Statut
Membre
Dernière intervention
26 juin 2022
26 juin 2022 à 17:54
26 juin 2022 à 17:54
Bonsoir à nouveau,
Alors j'ai finis mon programme en suivant (presque) tout tes conseils et j'aurais maintenant besoin d'un petit peu d'aide pour le faire fonctionner.
Voici le programme final commenté en espérant qu'il soit le plus clair possible :
Les news :
- Si je créer juste une partie en POO (ici la partie root avec tkinter) c'est ok,
- Je n'ai effectivement pas utilisé ta méthode pour les images car je n'ai pas très bien saisi comment cela fonctionnait, donc pas de module glob,
- Le rendu est pour demain 8h.
Serais-ce possible d'obtenir de l'aide sur :
-la syntaxe du bouton "afficher recette",
-la syntaxe global et l'ordre des choses du programme,
Peux-tu éclairer les erreurs suivantes que PyCharm m'affiche :
Voilà, tout ceci accompagné d'un énorme s'il-te-plaît,
Merci encore à toi pour ta future aide.
Alors j'ai finis mon programme en suivant (presque) tout tes conseils et j'aurais maintenant besoin d'un petit peu d'aide pour le faire fonctionner.
Voici le programme final commenté en espérant qu'il soit le plus clair possible :
class Application(object): def __init__(self): #création d'un interface graphique self.root = Tk() self.root.title("Cuisto sous la manche") self.root.geometry("900x500") self.root.resizable(width=False, height=False) Canvas(self.root, bg="black", height=400, width=900) #création de 3 listes déroulantes liste_1 = ["Temps : <15min", "Temps : <30min", "Temps : >30min"] c1 = ttk.Combobox(self.root, values=liste_1) c1.current(0) c1.bind("<<ComboboxSelected>>", valeur_combo_1) c1['values'] = ('value1', 'value2', 'value3') liste_2 = ["Facile", "Moyen", "Difficile"] c2 = ttk.Combobox(self.root, values=liste_2) c2.current(0) c2.bind("<<ComboboxSelected>>", valeur_combo_2) liste_3 = ["bon marché", "cher"] c3 = ttk.Combobox(self.root, values=liste_3) c3.current(0) c3.bind("<<ComboboxSelected>>", valeur_combo_3) #Boutton afficher recette Button(self.root, text="Afficher recette", bg="red", command=[ if True: canevas_final else: pass ]) self.root.mainloop() # Programme principal : if __name__ == '__main__': from tkinter import * import random import PIL from tkinter.ttk import * # Widgets avec thèmes f = Application() # instanciation de l'objet application #définition des variables temps, difficulte et prix des listes déroulantes def valeur_combo_1 (evt, liste_1=None): temps=liste_1.get("iq", "it", "st") def valeur_combo_2 (evt, liste_2=None): difficulte=liste_2.get("s", "m", "d") def valeur_combo_3 (evt, liste_3=None): prix=liste_3.get("bm", "c") #iq= "<15" ; it= "<30" ; st= ">30" #s=simple ; m=moyen ; d=difficile; #bm=bon marché ; c=cher iq_s_bm=list( ["Croque-monsieur.png", "Burger.png", "Wraps.png", "Sandwich.png", "Hot-dog-a-la-vachette.png", "Crepes", "Mac-and-cheese", "Pates-carbonara"]) iq_m_bm=list( ["Tacos.png", "Escalopes-de-veau-a-la-creme.png", "Tagliatelles-au-saumon"]) iq_m_c=list( ["Fondue.png"]) it_s_bm=list( ["Galettes-de-pommes-de-terre.png", "Risotto-au-chorizo.png"]) it_s_c=list( ["Pates-aux-crevettes.png"]) it_m_bm=list( ["Poulet-au-roquefort.png", "Escalopes-milanaises.png"]) it_m_c=list( ["Sole-meuniere.png", "Steak-de-thon.png", "Steak-tartare.png", "Tagliata-de-boeuf.png"]) it_d_bm=list( ["Poulet-curry.png", "Riz-cantonais.png"]) it_d_c=list( ["Filet-de-truite-saumonee.png"]) st_s_bm=list( ["Galettes-de-pommes-de-terre.png","Hachis-parmentier.png"]) st_s_c=list( ["Porc-au-caramel.png"]) st_m_bm=list( ["Tartiflette.png","Poulet-et-creme-de-citron.png"]) st_m_c=list( ["Filet-mignon-de-porc-a-la-moutarde.png", "Jambalaya-poulet.png"]) st_d_bm=list( ["Gnocchis.png"]) st_d_c=list( ["Poulet-de-Bresse.png"]) liste_choix = ( [iq_s_bm, iq_m_bm, iq_m_c, it_s_bm, it_s_c, it_m_bm, it_m_c, it_d_bm, it_d_c, st_s_bm, st_s_c, st_m_bm, st_m_c, st_d_bm, st_d_c]) nom_image = temps + '_' + difficulte + '_' + prix #la variable recette va vérifier lorsque la variable nom_image est égale à une variable dans la liste de choix. recette = [s for s in liste_choix if nom_image in s] # lorsque c'est le cas, la variable a1 va sortir une valeur aléatoire dans la liste concernée a1 = str(random.choice(recette)) #le lien vers l'image final peut don être crée à l'aide de la ligne de code suivante : image_final = str(PhotoImage(file=("mini-projet/all"+a1))) #l'image va s'afficher sur le canevas final comme : canevas_final = Canvas.create_image(0, 0, image=image_final, anchor='nw')
Les news :
- Si je créer juste une partie en POO (ici la partie root avec tkinter) c'est ok,
- Je n'ai effectivement pas utilisé ta méthode pour les images car je n'ai pas très bien saisi comment cela fonctionnait, donc pas de module glob,
- Le rendu est pour demain 8h.
Serais-ce possible d'obtenir de l'aide sur :
-la syntaxe du bouton "afficher recette",
-la syntaxe global et l'ordre des choses du programme,
Peux-tu éclairer les erreurs suivantes que PyCharm m'affiche :
Voilà, tout ceci accompagné d'un énorme s'il-te-plaît,
Merci encore à toi pour ta future aide.
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
168
Modifié le 27 juin 2022 à 12:11
Modifié le 27 juin 2022 à 12:11
Bonjour,
Si les noms d'images correspondent aux 3 critères comme je te le disais, ça évite de mettre la liste des images dans le code et donc de l'éditer à chaque fois que l'on veut mettre la liste à jour
Sans POO, ca donnerait ça, en admettant que les fichiers s'appellent:
it_s_bm_01.JPG
it_s_bm_02.JPG
st_m_c_01.JPG
etc ...
Si les noms d'images correspondent aux 3 critères comme je te le disais, ça évite de mettre la liste des images dans le code et donc de l'éditer à chaque fois que l'on veut mettre la liste à jour
Sans POO, ca donnerait ça, en admettant que les fichiers s'appellent:
it_s_bm_01.JPG
it_s_bm_02.JPG
st_m_c_01.JPG
etc ...
from tkinter import * from tkinter import ttk from PIL import Image, ImageTk import glob import random global criteres def liste_images(): ''' Liste des fichiers images du répertoire courant''' images, noms_images = [], [] for f in glob.glob('*.jpg'): noms_images.append(f) images.append(ImageTk.PhotoImage(Image.open(f))) return(images, noms_images) def affiche_recette(): ''' Affichage d'une image au hasard en fonction des 3 critères sélectionnés ''' recettes_possibles = [] recette_possible = dic[criteres[0]] + '_' +dic[criteres[1]] + '_' +dic[criteres[2]] for k in range(len(noms_images)): if(recette_possible in noms_images[k]): recettes_possibles.append(images[k]) recette = random.choice(recettes_possibles) graph_area.create_image(0,0,image = recette, anchor = 'nw') def valeur_combo(event, c, x): ''' Valeur de Combobox c ''' criteres[x] = c.get() WIDTH, HEIGHT = 540, 250 bg_col = 'salmon1' main_win = Tk() main_win.configure(background = bg_col) main_win.title('Recettes') main_win.geometry(str(WIDTH)+'x'+str(HEIGHT)+'+300+100') L1 = Label(main_win, text = 'Temps de préparation', bg = bg_col) L1.place(x = 10,y = 10) c_valeurs=["< 15 min","< 30 min","> 30 min"] c1 = ttk.Combobox(main_win, values=c_valeurs) c1.current(0) c1.place(x = 150,y = 10) c1.bind("<<ComboboxSelected>>", lambda evt, c = c1, x=0 : valeur_combo(evt, c, x)) L2 = Label(main_win, text = 'Difficulté', bg = bg_col) L2.place(x = 10,y = 50) c_valeurs=["Facile","Moyen","Difficile"] c2 = ttk.Combobox(main_win, values=c_valeurs) c2.current(0) c2.place(x = 150,y = 50) c2.bind("<<ComboboxSelected>>", lambda evt, c=c2, x=1 : valeur_combo(evt, c, x)) L3 = Label(main_win, text = 'Prix', bg = bg_col) L3.place(x = 10,y = 90) c_valeurs=["Bon marché","Cher"] c3 = ttk.Combobox(main_win, values=c_valeurs) c3.current(0) c3.place(x = 150,y = 90) c3.bind("<<ComboboxSelected>>", lambda evt, c=c3, x=2 : valeur_combo(evt, c, x)) b = Button(main_win, text = 'Afficher recette', command = affiche_recette) b.place(x = 10,y = 130) graph_area = Canvas(main_win,height=200,width=200) graph_area.place(x = 300,y = 10) criteres = ['','',''] dic = {'< 15 min':'iq','< 30 min':'it','> 30 min':'st','Facile':'s','Moyen':'m','Difficile':'d','Bon marché':'bm','Cher':'c'} images, noms_images = liste_images() main_win.mainloop()
23 juin 2022 à 11:21
pour ça "De plus, le choix de la recette n'a pas l'air simple
Une recette donnée est forcément soit facile, soit difficile soit moyenne, pas les 3 à la fois
idem pour le prix et le temps
Donc une recette donnée est, par exemple, facile ET en - de 15mn ET bon marché
Je nommerais donc l'image f_15_bm.png " C'est ce que j'essaye de faire, je pensais mettre des conditions sur les boutons pour n'en choisir qu'un à chaque étape mais je vais faire des listes déroulantes finalement.
pour "Ensuite, je reconstituerais la chaine de caractères en fonction des 3 choix des 3 listes déroulantes et ça donnerait automatiquement le nom de l'image à afficher
(et un seul dossier pour toutes les images)", je ne comprends pas, je n'ai pas qu'une seule recette facile, <15min et bon marché, pourquoi nommer une image f_15_bm.png plutôt que d'utiliser un dossier contenant toute les images correspondantes ? Idem que pour la première remarque, est-ce que t'aurais un exemple sous la main s'il-te plaît ?
Quoiqu'il en soit merci pour ta réponse ça m'a déjà bien aidé !
23 juin 2022 à 11:33
-Comment mettre une image png dans un Canvas (je n'arrive pas à importer le module PIL je ne sais pas si c'est pour ça),
-Comment associer mes listes à la sélection de l'utilisateur (comment faire pour que mon programme sache quoi afficher depuis quelle valeur/dossier/list... en fonction des choix réalisé),
- et comment coder tout ça en POO...
Des exemples de codes sont les bienvenus.
Merci pour votre futur aide précieuse et très appréciée .
23 juin 2022 à 12:10