Sie müssen die Ereignisschleife lassen um den Bildschirm aktualisieren. Der einfachste Weg, dies zu tun, ist eine Selbstwiederholungsfunktion mit tkinter after
Methode schreiben.
Hier ist ein funktionierendes Beispiel. Dies verwendet ein Text-Widget, aber Sie können ebenso einfach ein Label-Widget oder ein Canvas-Textelement aktualisieren.
import Tkinter as tk
def typeit(widget, index, string):
if len(string) > 0:
widget.insert(index, string[0])
if len(string) > 1:
# compute index of next char
index = widget.index("%s + 1 char" % index)
# type the next character in half a second
widget.after(250, typeit, widget, index, string[1:])
root = tk.Tk()
text = tk.Text(root, width=40, height=4)
text.pack(fill="both", expand=True)
typeit(text, "1.0", "Hello, this is an \nexample of some text!")
root.mainloop()
[ähnliche?] (Http://stackoverflow.com/questions/36969724/multi-threading-in-tkinter-gui-threads-in-different-classes) – motoku
I 'slp' Hoffnung ist nicht ein Rebound 'time.sleep', weil das mit Tkinter nicht richtig funktioniert. – TigerhawkT3