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()
