Je suis en train de créer une application pour afficher en continu une image extraite d'une caméra IP. J'ai compris comment récupérer l'image et comment afficher l'image en utilisant Tkinter. Mais je n'arrive pas à l'actualiser continuellement. Utiliser Python 2.7+.Rafraîchir l'image dans la fenêtre Tkinter
Voici le code que j'ai jusqu'à présent.
import urllib2, base64
from PIL import Image,ImageTk
import StringIO
import Tkinter
URL = 'http://myurl.cgi'
USERNAME = 'myusername'
PASSWORD = 'mypassword'
def fetch_image(url,username,password):
# this code works fine
request = urllib2.Request(url)
base64string = base64.encodestring('%s:%s' % (username, password)).replace('\n', '')
request.add_header("Authorization", "Basic %s" % base64string)
result = urllib2.urlopen(request)
imgresp = result.read()
img = Image.open(StringIO.StringIO(imgresp))
return img
root = Tkinter.Tk()
img = fetch_image(URL,USERNAME,PASSWORD)
tkimg = ImageTk.PhotoImage(img)
Tkinter.Label(root,image=tkimg).pack()
root.mainloop()
Comment dois-je modifier le code afin que le fetch_image
est appelé à plusieurs reprises et sa sortie mis à jour dans la fenêtre Tkinter?
Notez que je n'utilise aucun événement-bouton pour déclencher le rafraîchissement de l'image, mais plutôt qu'il devrait être rafraîchi automatiquement, disons, toutes les secondes.