Я застрял, пытаясь добавить изображение в мой графический интерфейс tkinter, и Google, похоже, не дает ответов.Я понимаю, что не должен использовать менеджеры сетки или пакета gemoetry в одном и том же главном окне, и я не могу, насколько я могу судить, но каждая попытка привела к одному из следующих сообщений об ошибке:
TclError: cannot use geometry manager grid inside . which already has slaves managed by pack
или:
TclError: image "pyimage86" doesn't exist
Кстати, каждый раз, когда я перезапускаю свой код, меняется «pyimage86», каждый прогон увеличивает число на 1, например, «pyimage86», «pyimage87» и т. Д. И т. Д.
Первое сообщение об ошибке особенно запутанно, потому что я использую .grid, чтобы поместить помеченное изображение в класс, но ошибка говорит об обратном?(я знаю, что пример кода отсутствует в классе)
Я пробовал разные изображения и преобразовал исходное изображение в файлы .TIF, .JNP, .PNG, .GIF, но ни один из них не дал результата.Я также удалил альфа-канал (очевидно, это могло быть проблемой при использовании ImageTK.PhotoImage, но это не помогло).Я также преобразовал изображение в градации серого в качестве последней попытки рва, но не повезло.
import tkinter as tk
import PIL.Image
import PIL.ImageTk
root = tk.Tk()
image = Image.open("TemplateRack_GUI.png")
photo = ImageTk.PhotoImage(image)
label = tk.Label(image=photo)
label.image = photo
label.grid(row=5, column=5)
root.mainloop()