Всем привет!
Подскажите, пожалуйста, можно ли назначить кнопке через command функцию, которая читала бы атрибут text нажатой кнопки?
4kpt_IIА не подскажите как должна выглядеть данная функция?
Можно.
def callback(parameter): print parameter # but = Tkinter.Button(root, text="my button") but["command"] = lambda: callback(but["text"])
def callback(event): print event.widget["text"] # but = Tkinter.Button(root, text="my_button") but.bind("<Button-1>", callback)
4kpt_II
Вот это правильный вопрос
Ответ на правильный вопрос:
def callback(parameter):
print parameter
#
but = Tkinter.Button(root, text=“my button”)
but = lambda: callback(but)
Но этот подход неверен в корне!!! Лучше использовать bind и event. В этом случае в event передается много чего полезного и ценного. В том числе и атрибут widget, который прямо указывает на виджет из которого пришло событие (в Вашем случае на кнопку):
def callback(event):
print event.widget
#
but = Tkinter.Button(root, text=“my_button”)
but.bind(“<Button-1>”, callback)
P.S. Будут вопросы - пишите…