python代码如何做成应用程序错误_Python代码问题,应用程序已被破坏T

博主在创建Tkinter图形用户界面时遇到问题,尝试从字典中循环提取值并显示对应的图像。代码尝试使用for循环和PIL库加载图像,但在运行过程中遇到TclError:无法调用“image”命令。错误可能由于图像操作在窗口关闭后执行导致。博主寻求解决方案以正确显示所有图像并避免错误。
摘要由CSDN通过智能技术生成

我正在制作一个Tkinter图形用户界面,除了调用图像什么都不做——当然,我一直在努力寻找合适的Tkinter文档。在

我的代码中有一行似乎不能按要求执行——我想调用字典中的所有值,在调用下一个值之前,为每个值单独打印并拉取一个同名的图像。我试过了dict.itervalues()和dict.值()似乎什么都搞不清楚。。。在

总之,下面是一个片段:for key in ansDict.iterkeys(): #using the iterkeys function... kind of

x=key

root = tk.Tk() # root window created (is this in the right place?)

root.title('C H E M I S T R Y A B C\'s')

frameAns=tk.Frame(root)

frameAns.grid(row=0, column=0, sticky=tk.NW)

for i in range(len(ansDict[x])):

print '-->' + ansDict[x][i]

for value in ansDict.itervalues(): #This is the most important part

for i in range(len(value)): #pulls value list from dictionary named ansDict

picRef1 = Image.open(value[i] + '.jpg') #calls image file by the same name using PIL

photo1 = ImageTk.PhotoImage(picRef1, master=root)

button1 = tk.Button(frameAns, compound=tk.TOP, image=photo1, text=str(value[i]) + '\nClose me!', bg='white') #pulls up button onto which the image is pasted

button1.grid(sticky=tk.NW, padx=2, pady=2) #places button on grid

button1.image=photo1

root.mainloop()

最后,在最后,它提取了一到两个图像,然后我得到了以下错误:

TclError:无法调用“image”命令:应用程序已被销毁

我不知道怎么了。我不能移动图像命令,我需要“保存”它,这样它就不会被破坏。我知道这里还有其他的代码错误,但是我认为如果我弄清楚我得到的TclError,我就可以纠正其他所有的错误。在

如果有更简单的方法来做这一切请一定告诉!在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值