How do I create an automatically updating GUI using Tkinter?

You can use after() to run function after (for example) 1000 miliseconds (1 second) to do something and update text on labels. This function can run itself after 1000 miliseconds again (and again).

It is example with current time

from Tkinter import *
import datetime

root = Tk()

lab = Label(root)
lab.pack()

def clock():
    time = datetime.datetime.now().strftime("Time: %H:%M:%S")
    lab.config(text=time)
    #lab['text'] = time
    root.after(1000, clock) # run itself again after 1000 ms

# run first time
clock()

root.mainloop()

BTW: you could use StringVar as sundar nataraj Сундар suggested


if you want to change label dynamically

self.dynamiclabel=StringVar()
self.labeltitle = Label(root, text=self.dynamiclabel,  fg="black", font="Helvetica 40 underline bold")
self.dyanamiclabel.set("this label updates upon change")
self.labeltitle.pack()

when ever you get new value then just use .set()

self.dyanamiclabel.set("Hurrray! i got changed")

this apply to all the labels.To know more read this docs