Ошибка при использовании анимированных изображений (GIF) в окне tkinter на языке PythonPython

Программы на Python
Anonymous
Ошибка при использовании анимированных изображений (GIF) в окне tkinter на языке Python

Сообщение Anonymous »

У меня возникла проблема, связанная с использованием tkinter (Python) при использовании анимированного изображения (файла GIF). Дело в том, что в моей программе не воспроизводится анимированное изображение (GIF-файл), а показывается только пара пикселей и как сделать так, чтобы gif-файлы воспроизводились непрерывно (пока не закрою программу).

Код: Выделить всё

   import tkinter as tk
from PIL import Image, ImageTk

root = tk.Tk()
root.title("Main Window")
root.geometry('300x400')

def open_second_window():
second_window = tk.Toplevel(root)
second_window.title("menu")
second_window.geometry('700x700')

image_path = "menu.png"
image = Image.open(image_path)
photo = ImageTk.PhotoImage(image)

label = tk.Label(second_window, image=photo)
label.image = photo
label.pack(fill=tk.BOTH, expand=True)
label.place(x=0, y=0)

button = tk.Button(second_window,height=4, width=12, font='Times 31', wraplength=289, text="First gif", command=open_firtsgif_window)

button.place(x=308, y=302, anchor='ne')
button1 = tk.Button(second_window,height=4, width=12, font='Times 31', wraplength=289, text="Second gif", command=open_secondif_window)
button1.place(x=688, y=302, anchor='ne')

def open_firtsgif_window():
firtsgif_window = tk.Toplevel(root)
firtsgif_window.title("fitrs_gif")
firtsgif_window.geometry('700x700')

image_path = "road-sign-roadtrip.gif"
image = Image.open(image_path)
photo = ImageTk.PhotoImage(image)

label = tk.Label(firtsgif_window, image=photo)
label.image = photo
label.pack(fill=tk.BOTH, expand=True)
label.place(x=0, y=0)

tk.Label(firtsgif_window, font='Times 30', text="firts gif", fg="red").place(x=150, y=30)

button = tk.Button(firtsgif_window,height=4, width=12, font='Times 31', text="Exit", command=Close)

button.place(x=308, y=302, anchor='ne')

def open_secondif_window():
secondif_window = tk.Toplevel(root)
secondif_window.title("second_gif")
secondif_window.geometry('700x700')

image_path = "road-sign-roadtrip.gif"
image = Image.open(image_path)
photo = ImageTk.PhotoImage(image)

label = tk.Label(secondif_window, image=photo)
label.image = photo
label.pack(fill=tk.BOTH, expand=True)
label.place(x=0, y=0)

tk.Label(secondif_window, font='Times 30', text="Second gif", fg="red").place(x=150, y=30)

button = tk.Button(secondif_window,height=4, width=12, font='Times 31',  text="Exit", command=Close)

button.place(x=308, y=302, anchor='ne')

def Close():
root.destroy()

button = tk.Button(root, text="Open Second Window", command=open_second_window)
button.pack()

root.mainloop()
Как сделать так, чтобы GIF-файлы в коде воспроизводились автоматически.

Подробнее здесь: https://stackoverflow.com/questions/790 ... n-language

Вернуться в «Python»