Animationen in GIF mit Tkinter abspielen [duplizieren]

8

Ich habe versucht, ein animiertes Gif mit Tkinter.PhotoImage zu spielen, habe aber keinen Erfolg gesehen. Es zeigt das Bild, aber nicht die Animation an. Das Folgende ist mein Code:

%Vor%

Es zeigt das Bild in einem Fenster an und das war's. Ich denke, dass das Problem etwas mit Tkinter.Label zu tun hat, aber ich bin mir nicht sicher. Ich habe nach Lösungen gesucht, aber alle sagen mir, dass ich PIL (Python Imaging Library) verwenden soll, und das möchte ich nicht verwenden.

Mit der Antwort habe ich etwas mehr Code erstellt (was immer noch nicht funktioniert ...), hier ist es:

%Vor%

Danke für alles! :)

    
Zizouz212 14.02.2015, 17:13
quelle

2 Antworten

7

Sie müssen die Animation selbst in Tk fahren. Ein animiertes GIF besteht aus einer Anzahl von Frames in einer einzigen Datei. Tk lädt das erste Bild, aber Sie können verschiedene Bilder angeben, indem Sie beim Erstellen des Bildes einen Indexparameter übergeben. Zum Beispiel:

%Vor%

Wenn Sie alle Frames in separate PhotoImages laden und dann Timer-Ereignisse verwenden, um den angezeigten Frame zu wechseln ( label.configure(image=nextframe) ). Mit der Verzögerung des Timers können Sie die Animationsgeschwindigkeit steuern. Es ist nichts vorgesehen, um Ihnen die Anzahl der Bilder im Bild zu geben, außer dass es nicht gelingt, einen Rahmen zu erstellen, sobald Sie die Bildanzahl überschritten haben.

Siehe die Foto Tk Manual Page für das offizielle Wort.

    
patthoyts 14.02.2015, 18:54
quelle
2

Hier ist ein einfacheres Beispiel, ohne ein Objekt zu erstellen:

%Vor%     
Alex 19.03.2017 03:07
quelle

Tags und Links