Изменить метку и изображение с помощью кнопки, Tkinter - Ошибка - PullRequest
1 голос
/ 25 сентября 2019

Я немного играю с 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()

1 Ответ

2 голосов
/ 25 сентября 2019

dict_01 сопоставляет имена с именами ваших изображений, в отличие от самих изображений.Удалите кавычки вокруг них, например:

dict_01 = {'eins':dummy_logo, 
           'zwei':dummy_logo, 
           'drei':dummy_logo2, 
           'vier':dummy_logo2}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...