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 : 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()
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