Добавление картинки в TkInter

Я пытаюсь добавить картинку в TkInter, я пробовал много вариантов:

from tkinter import *
root = Tk()

img = Label(root, image=PhotoImage(file='path'))
img2 = Button(root, image=PhotoImage(file='path'))
# img3 = Image()    я не знаю атрибутов к этому объекту, в интернете ничего нету

img.grid()
img2.grid(column=1)
# img3.grid(column=2

У меня или не отображается (когда-как), или выдаётся ошибка. Есть способ добавить картинку без установки других библиотек (типа PIL)?


Ответы (1 шт):

Автор решения: vsi-

Для начала нужно создать canvas (это стандартный метод tkinter):

canvas = Canvas(gui, bg = 'white', height = 100, width = 100)
canvas.pack()

width и height настраивай по размерам своего окна tkinter.

Затем создать фото через PhotoImage:

test = PhotoImage(file='test1.png')

Потом:

testImg = canvas.create_image(100,190, anchor = NW, image = test)

По координатам ориентируйся сам.

В итоге получится так:

from tkinter import *
root = Tk()
root.geometry('500x700')
canvas = Canvas(root, bg = 'white', height = 100, width = 100)
canvas.pack()
test = PhotoImage(file='test1.png')
testImg = canvas.create_image(100,190, anchor = NW, image = test)
→ Ссылка