Найти - Пользователи
Полная версия: создание кнопок через цикл.
Начало » GUI » создание кнопок через цикл.
1
3dpython
Как сделать так что бы при нажатии на кнопку брались данные соотвествующей нажитой кнопки

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()
4kpt_IV
Есть несколько вариантов.
Самый простой - явно передавать.

but[xx].bind("<Button-1>", lambda event: pod(event, xx))

Или получить параметры самой кнопки.

print(event.widget["text"])
3dpython
какие параметры еще можно получить с кнопки?
и где поподробнее можно прочитать про event и widget
r00tl3ss
Можно тут почитать, правда на английском. И я не уверен, что на русском много документации по Tkinter.
3dpython
с лямдой так работает
lambda event, xx=xx: pod(event, xx)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB