繁体   English   中英

为什么我运行python程序时无法打开tk小部件?

[英]Why will my tk widget not open when I run my python program?

我认为它与while循环有关,因为当我注释掉它时,其余代码都可以正常工作。 循环本身正在运行。 没有错误,该小部件没有打开。 我的代码:

from Tkinter import *
from PIL import ImageTk, Image
import time
from os import listdir
from os.path import isfile, join, abspath

root=Tk()
myContainer1 = Frame(root)
myContainer1.pack()
root.attributes("-fullscreen", True)
root.bind("<Escape>", lambda e: e.widget.quit())

mypath = "E:/"  
images = [f for f in listdir(mypath) if isfile(join(mypath, f))]

length = len(images)

while True:
    for n in range(length):
        imgPath = abspath(mypath + images[n])
        image = Image.open(imgPath)
        photo = ImageTk.PhotoImage(image)
        label = Label(image=photo)
        label.image = photo
        label.pack()
        print images[n]    #for testing purposes
        time.sleep(10)

root.mainloop()

底部对root.mainloop()的调用是启动小部件并使其保持运行的原因,并且在您创建无限循环之前,因此该小部件永远无法真正启动。

这个答案可能接近您想要实现的目标: 如何使用tkinter创建计时器

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM