Python 2.7 time.sleep() 与 Canvas Tkinter (OS X)
Python 2.7 time.sleep() with Canvas Tkinter (OS X)
我正在使用 Tkinter 在 Python 2.7 中制作程序,我想创建 3 秒的介绍。简介只是 canvas 图片,应该显示 3 秒然后被删除。问题是我的程序启动了 3 秒,然后代码就完成了,所以没有介绍。我读到这是因为输出缓冲。我不知道如何禁用它,因为每个人都在谈论 time.sleep 和打印功能。那是我的代码:
root = Tk()
root.resizable(0,0)
root.geometry('800x600+200+200')
#canvas UI
w = Tkinter.Canvas(root, bd=0, height=600, width=800)
def intro():
w.pack()
intro = Tkinter.PhotoImage(file=r'intro.ppm')
root.intro = intro
w.create_image((0,0), image=intro, anchor='nw', tags=("intro"))
time.sleep(3)
w.delete("intro")
intro()
w.pack()
root.mainloop ()
您不得将 time.sleep
与 Tkinter 一起使用。当你想让程序暂停时,使用after
.
def intro():
w.pack()
intro = Tkinter.PhotoImage(file=r'intro.ppm')
root.intro = intro
w.create_image((0,0), image=intro, anchor='nw', tags=("intro"))
w.after(3000, w.delete, "intro")
我正在使用 Tkinter 在 Python 2.7 中制作程序,我想创建 3 秒的介绍。简介只是 canvas 图片,应该显示 3 秒然后被删除。问题是我的程序启动了 3 秒,然后代码就完成了,所以没有介绍。我读到这是因为输出缓冲。我不知道如何禁用它,因为每个人都在谈论 time.sleep 和打印功能。那是我的代码:
root = Tk()
root.resizable(0,0)
root.geometry('800x600+200+200')
#canvas UI
w = Tkinter.Canvas(root, bd=0, height=600, width=800)
def intro():
w.pack()
intro = Tkinter.PhotoImage(file=r'intro.ppm')
root.intro = intro
w.create_image((0,0), image=intro, anchor='nw', tags=("intro"))
time.sleep(3)
w.delete("intro")
intro()
w.pack()
root.mainloop ()
您不得将 time.sleep
与 Tkinter 一起使用。当你想让程序暂停时,使用after
.
def intro():
w.pack()
intro = Tkinter.PhotoImage(file=r'intro.ppm')
root.intro = intro
w.create_image((0,0), image=intro, anchor='nw', tags=("intro"))
w.after(3000, w.delete, "intro")