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) :
Si je sort le code de la fonction, mon image s'affiche dans mon Canvas. Mais si je garde ma fonction, rien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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()
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
Partager