Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Tkinter标签不会动态更改图像_Python_Tkinter - Fatal编程技术网

Python Tkinter标签不会动态更改图像

Python Tkinter标签不会动态更改图像,python,tkinter,Python,Tkinter,我想用另外两张图片及时更改一张标签的图片,但它很快就跳到了最后一张。有什么建议吗 我试过利用时间。睡眠,以防它发生得太快,以至于我没注意到,但它不起作用 import tkinter from tkinter import * from PIL import Image , ImageTk import time window = tkinter.Tk() window.geometry("500x500") window.title("Pomodoro Timer") window.im

我想用另外两张图片及时更改一张标签的图片,但它很快就跳到了最后一张。有什么建议吗

我试过利用时间。睡眠,以防它发生得太快,以至于我没注意到,但它不起作用

import tkinter
from tkinter import *
from PIL import Image , ImageTk
import time

window = tkinter.Tk()

window.geometry("500x500")
window.title("Pomodoro Timer")

window.image_1 = ImageTk.PhotoImage(Image.open("1.jpg"))
window.image_2 = ImageTk.PhotoImage(Image.open("2.jpg"))
window.image_3 = ImageTk.PhotoImage(Image.open("3.jpg"))

lbl_1 = tkinter.Label(window, image=window.image_1)
lbl_1.place(x=150,y=100)

lbl_2 = tkinter.Label(window, image=window.image_2)
lbl_2.place(x=200,y=100)

def display_numbers():
    lbl_1
    lbl_2
display_numbers()

def clicked():
    i=1
    while i<3:

        if i==1:
            lbl_1.configure(image=window.image_2)
            time.sleep(0.91)


            i += 1
        elif i==2:
            lbl_1.configure(image=window.image_3)
            time.sleep(0.91)
            i += 1

btn = tkinter.Button(window, text="Start", command=clicked)    
btn.place(x=200,y=450,width=100)

window.mainloop()
导入tkinter
从tkinter进口*
从PIL导入图像,ImageTk
导入时间
window=tkinter.Tk()
窗口几何(“500x500”)
窗口标题(“Pomodoro定时器”)
window.image_1=ImageTk.PhotoImage(image.open(“1.jpg”))
window.image_2=ImageTk.PhotoImage(image.open(“2.jpg”))
window.image_3=ImageTk.PhotoImage(image.open(“3.jpg”))
lbl_1=tkinter.Label(窗口,图像=window.image_1)
lbl_1.位置(x=150,y=100)
lbl_2=tkinter.Label(窗口,图像=window.image_2)
lbl_2.位置(x=200,y=100)
def显示_编号():
lbl_1
lbl_2
显示_编号()
def clicked():
i=1

而在gui库中使用睡眠是个糟糕的主意。它将在睡眠期间冻结整个应用程序。相反,您可以使用小部件的after方法来实现延迟。不过,您需要重新构造代码,以实现跨多个函数调用的图像更改(每个延迟后一个)