Besoin d'aide débutant.
Hugo
-
Phil_1857 Messages postés 1872 Date d'inscription Statut Membre Dernière intervention -
Phil_1857 Messages postés 1872 Date d'inscription Statut Membre Dernière intervention -
Bonjour, je me joins à vous aujourd'hui car j'ai besoin d'aide.
Je suis les tuto de graven sur youtube et j'essaie de faire le fameux "Meal Generator".
Mais j'aimerai ne pas regarder la correction.
Je n'arrive pas à afficher mon image ? et je n'ai pas d'erreur, je vous joins mon code ci dessous.
Et je pense que j'ai du mal à comprendre la fonction "__init__" et à quel moment mettre "self.[nom]" , si quelqu'un pouvait m'éclairer ?
PS: Dans le code, les dernières ligne, je ne les utilises pas encore (OS et Random) c'est normal.
Merci beaucoup par avance pour votre temps consacré à votre réponse.
Cordialement, Hugo.
Je suis les tuto de graven sur youtube et j'essaie de faire le fameux "Meal Generator".
Mais j'aimerai ne pas regarder la correction.
Je n'arrive pas à afficher mon image ? et je n'ai pas d'erreur, je vous joins mon code ci dessous.
Et je pense que j'ai du mal à comprendre la fonction "__init__" et à quel moment mettre "self.[nom]" , si quelqu'un pouvait m'éclairer ?
PS: Dans le code, les dernières ligne, je ne les utilises pas encore (OS et Random) c'est normal.
Merci beaucoup par avance pour votre temps consacré à votre réponse.
Cordialement, Hugo.
import os import random from tkinter import * class meal_generator: def __init__(self): self.window = Tk() self.window.title("Meal generator") self.window.iconbitmap("turkey.ico") self.window.geometry("720x480") self.window.config(background='#9e9998') self.window.minsize(480, 360) self.frame = Frame(self.window, bg='#9e9998') self.create_widgets() def create_widgets(self): self.create_image() def create_image(self): width = 300 height = 300 image = PhotoImage("meal.png").zoom(26).subsample(32) canvas = Canvas(self.frame, width=width, height=height, bg='#9e9998', bd=0) canvas.create_image(width / 2, height / 2, image=image) canvas.pack() self.frame.pack() if os.path.exists("meals.txt"): with open("meals.txt", "r+") as file: meals_list = file.readlines() meal_random_choice = random.choice(meals_list) file.close() else: print("Le document n'existe pas, attention !") app = meal_generator() app.window.mainloop()
A voir également:
- Besoin d'aide débutant.
- Logiciel de programmation pour débutant - Guide
- Logiciel montage vidéo débutant - Guide
- Apprendre le coran pour débutant (+ pdf) - Télécharger - Histoire & Religion
- Platine dj debutant - Forum Enregistrement / Traitement audio
- Comment utiliser un ordinateur pour un débutant - Astuces et Solutions
3 réponses
Bonjour Hugo,
C'est
et non pas:
Pour tes autres questions, dans ton tuto, il y a surement un cours sur les classes, non ?
Et tu mets un print alors que tu es dans une interface graphique, il existe un widget text dans tkinter ...
C'est
image = PhotoImage(file = "meal.png")
et non pas:
image = PhotoImage("meal.png")
Pour tes autres questions, dans ton tuto, il y a surement un cours sur les classes, non ?
Et tu mets un print alors que tu es dans une interface graphique, il existe un widget text dans tkinter ...
merci pour ta réponse, j'ai finalement reussi grâce à ce code :
mais j'ai du mal a comprendre le .self et la fonction __init_ :/
def create_image(self):
width = 300
height = 300
self.image = PhotoImage(file="meal.png").zoom(10).subsample(32)
canvas = Canvas(self.window, bg='#9e9998', bd=0, highlightthickness=0, height=height,
width=width)
canvas.create_image(0, 0, anchor=NW, image=self.image)
canvas.pack()
self.frame.pack()
mais j'ai du mal a comprendre le .self et la fonction __init_ :/
Bonjour Hugo,
Très bien !
Après, la logique, c'est quand même de créer les objets, puis de les placer avant de les utiliser:
De même, ceci devrait être juste après la création de Frame, ca n'a rien à faire dans la fonction
create_image() :
mais j'ai du mal a comprendre le .self et la fonction __init_ :/
La, il faut reprendre un tuto sur les classes et la programmation objet en général ...
Très bien !
Après, la logique, c'est quand même de créer les objets, puis de les placer avant de les utiliser:
canvas = Canvas(self.window, bg='#9e9998', bd=0, highlightthickness=0, height=height, width=width) canvas.pack() canvas.create_image(0, 0, anchor=NW, image=self.image)
De même, ceci devrait être juste après la création de Frame, ca n'a rien à faire dans la fonction
create_image() :
self.frame.pack()
mais j'ai du mal a comprendre le .self et la fonction __init_ :/
La, il faut reprendre un tuto sur les classes et la programmation objet en général ...