Afficher et rafraîchir une image dans une fonction
Bonjour,
Je débute en python et à l'utilisation de Tkinter.
J'ai besoin d'afficher dans un Canvas, une image récupérée sur internet (la météo) et de régulièrement rafraîchir celle-ci (toutes les heures par exemple).
Voici le code que j'ai utilisé, avec une fonction (je n'ai pas mis toutes les déclaration préalables) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
def Meteo():
r = requests.get('https://www.prevision-meteo.ch/uploads/widget/meudon-92_0.png')
r.raise_for_status()
with open("meteo_meudon.png", "wb") as code:
code.write(r.content)
#Chargement de l'image
image_meteo = PIL.Image.open("meteo_meudon.png")
photo_meteo = PIL.ImageTk.PhotoImage(image_meteo)
canvas_meteo = Canvas(cadre_meteo, width = photo_meteo.width(), height = photo_meteo.height())
#Affichage de l'image
canvas_meteo.create_image(0, 0, image = photo_meteo, anchor = NW)
canvas_meteo.pack()
canvas_meteo.after(600000, Meteo)
Meteo() |
Si je sort le code de la fonction, mon image s'affiche dans mon Canvas. Mais si je garde ma fonction, rien.
Je pense qu'il y a un problème sur la déclaration des variables image_meteo et photo_meteo, mais je ne sais pas comment les déclarer en global.
Merci pour votre aide.
François