Форум сайта python.su
Как сделать так что бы при нажатии на кнопку брались данные соотвествующей нажитой кнопки
import tkinter root=tkinter.Tk() but=[0,1,2] nadpis=["0","1","2"] def pod(event): print(nadpis[xx]) for xx in but: but[xx]=tkinter.Button(root,text=nadpis[xx],width=10) but[xx].bind("<Button-1>",pod) but[xx].pack() root.mainloop()
Офлайн
Есть несколько вариантов.
Самый простой - явно передавать.
but[xx].bind("<Button-1>", lambda event: pod(event, xx))
print(event.widget["text"])
Офлайн
какие параметры еще можно получить с кнопки?
и где поподробнее можно прочитать про event и widget
Офлайн
Можно тут почитать, правда на английском. И я не уверен, что на русском много документации по Tkinter.
Офлайн
с лямдой так работает
lambda event, xx=xx: pod(event, xx)
Офлайн