Quazar
Янв. 18, 2016 17:13:27
Добрый день!
Подскажите пожалуйста, у меня в программе при нажатии кнопки происходит вызов дочернего окна.
Проблема в том что если нажать на кнопку несколько раз будет отрыто несколько окон. Я хотел сделать его модальным жестко привязав фокус к дочернему окну (focus_forse()), но это не помогает. Как сделать что бы при нажатии на кнопку можно было открыть лишь один экземпляр дочернего окна? Работаю с tkinter.
4kpt_IV
Янв. 18, 2016 17:27:56
Никак. Просто отслеживать.
Quazar
Янв. 18, 2016 17:33:33
Тогда как можно узнать в данный момент оно открыто или нет?
4kpt_IV
Янв. 18, 2016 17:57:27
Без ООП как-то так…
tpl = None
#
def callback(event, tpl):
if not tpl:
tpl = Toplevel()
#
but = Tkinter.Button(text="open_toplevel")
but.bind("Button-1", lambda: event: callback(event, tpl))
P.S. Исправил. Ссори, загнался