@pcelch: Die GUI wird erst angezeigt und ist funktionsfähig wenn die Hauptschleife des GUI-Toolkits läuft. Und lineare Programmierung funktioniert auch nicht weil GUI-Toolkits in aller Regel ereignisbasiert arbeiten. Das heisst Du kannst keinen länger laufenden Code mehr schreiben, sondern schreibst Funktionen/Methoden, die von der GUI bei bestimmten Ereignissen wie „Benutzer klickt auf eine Schaltfläche” aufgerufen werden. In diesem Fall müsstest Du mit der `after()`-Methode arbeiten, der man eine Zeit in Millisekunden und eine Funktion (und optional Argumente für die Funktion) übergibt. Tkinter ruft diese Funktion dann nach der angegeben Anzahl von Millisekunden auf. Dann kannst Du kurz etwas machen, zum Beispiel ein Bild anzeigen und einen weiteren Funktionsaufruf mit `after()` veranlassen.
Da man bei diesem Programmiermodell „Funktionen” mit gemeinsamen Zustand hat, sich also Werte über verschiedene Funktionsaufrufe hinweg merken muss, setzt GUI-Programmierung in der Regel objektorientierte Programmierung (OOP) voraus. Also das schreiben von eigenen Klassen. Das sollte man IMHO drauf haben bevor man mit GUIs anfängt.
Edit: `warten` hätte man kürzer definieren können: ``warten = time.sleep``.