【发布时间】:2019-09-25 12:33:12
【问题描述】:
我正在玩一点 Python 和 tkinter,以便学习一点编程知识。我想尝试创建一个带有标签、图像和按钮的框架。通过单击按钮标签-文本和图像应该改变,其中特定的文本和图像匹配。
更改文本没问题,但更改图像不起作用,我真的不明白为什么。我添加代码以显示我是如何尝试的。 我得到了错误:
“_tkinter.TclError:图像“dummy_logo2”不存在”
这里有什么问题? 我忽略了什么?
root = tk.Tk()
dummy_logo2 = tk.PhotoImage(master=root, file='bell2.gif')
dummy_logo2 = dummy_logo2.subsample(5)
dummy_logo = tk.PhotoImage(master=root, file='bell.gif')
dummy_logo = dummy_logo.subsample(5)
dict_01 = {'eins':'dummy_logo',
'zwei':'dummy_logo',
'drei':'dummy_logo2',
'vier':'dummy_logo2'}
def choose():
exerc = random.choice(list(dict_01.keys()))
label_01.config(text=exerc)
label_02.config(image=dict_01[exerc])
label_01 = tk.Label(root, text='Dummy Text')
label_01.grid(row=1, column=1)
label_02 = tk.Label(root, image=dummy_logo)
label_02.grid(row=1, column=2)
button_01 = tk.Button(root, text='Choose', command=choose)
button_01.grid(row=1, column=0)
root.mainloop()
【问题讨论】:
-
你试过
dict_01 = {'eins':dummy_logo, 'zwei':dummy_logo, 'drei':dummy_logo2, 'vier':dummy_logo2} -
好的,这确实解决了问题。不过,我真的不明白为什么,因为我之前尝试过在没有按钮的情况下更改图像,但仍然使用同一个字典的值,并且它与“dummy_log”一起使用。
-
我不确定是谁投票决定关闭这个话题,但据我所知,这是一个话题,而且是一个完全有效的问题,只需简单测试 MRE。