我正在使用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()
答案 0 :(得分:2)
dict_01
会将名称映射到图像的名称,而不是图像本身。删除周围的引号,如下所示:
dict_01 = {'eins':dummy_logo,
'zwei':dummy_logo,
'drei':dummy_logo2,
'vier':dummy_logo2}