Label в качестве кнопки

import tkinter


win = tkinter.Tk()
img_photo = tkinter.PhotoImage(file='resources/playpause.png')

def func():
    print('test')

label = tkinter.Label(win, image=img_photo)
label.place(x=0, y=0)
label.bind('<Button-1>', lambda: func)

win.mainloop()

bind работает, но выдаёт ошибку:

"TypeError: lambda() takes 0 positional arguments but 1 was given"

по-сути нужно сделать Label с изображением в качестве кнопки.


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

Автор решения: S. Nick

Или как вариант:

Привязать функцию к клавишам мыши: левая клавиша – '<Button-1>'

label.bind('<Button-1>', func) - выполняется функция func при нажатии на левую клавишу мыши.

Обратите внимание! В заглавии функции func после ее названия в скобках стоит слово event (с англ. событие).

from tkinter import *


win = Tk()
img_photo = PhotoImage(file='ball.png')

def func(event):
    print(f'test: {event.x}; {event.y}')
    
label = Label(win, image=img_photo)
label.place(x=0, y=0)
label.bind('<Button-1>', func)

win.mainloop()

введите сюда описание изображения

→ Ссылка
Автор решения: Лосякова Любов
label = Label(text = 'Це напис')
label.pack()
→ Ссылка