Форум сайта python.su
Очень удобная фича создания сразу множества контролов (элементов управления) в цикле:
from tkinter import * def release(event): print (event.widget) if __name__ == "__main__": root=Tk() i=7 while i>0: B=Button(root, text='кнопко') B.bind('<Button-1>', release) B.pack() i-=1 B.config(text='большое кнопко') root.mainloop()
Офлайн
А все понял
t=event.widget t.config(text='')
Офлайн
Список же.
Офлайн
Если безымянные кнопки, то никак. Да и зачем Хотя можно создать список и хранить там id объекта, а потом в обработчике события проверить.
Офлайн
4kpt_IVСпасибо.
Если безымянные кнопки, то никак. Да и зачем Хотя можно создать список и хранить там id объекта, а потом в обработчике события проверить.
Отредактировано XoFfiCEr (Июль 8, 2016 19:29:28)
Офлайн
XoFfiCEr
Вы сами почти догадались
t=event.widget print(t["text"])
Офлайн
Может еще подскажете как удалить такие вот безымянные кнопки?
Офлайн
В смысле “удалить”? Вы имеете ввиду, что после нажатия кнопки должны исчезать или???
Офлайн
4kpt_IVdestroy нужен, но как написать не знаю
В смысле “удалить”? Вы имеете ввиду, что после нажатия кнопки должны исчезать или???
Офлайн
Тут два варианта:
1. Упаковать все в рамку и ее удалить: метод destroy()
2. Упаковать все в рамку и ее скрыть: метод менеджер_геометрии_forget().
Второй случай используется, когда нужно показать какой-то результат, но все равно придется вернуться к начальному состоянию, но ради экономии не хочется создавать все кнопки заново.
Офлайн