Обнаружение события фокусировки на кадре - PullRequest
1 голос
/ 12 сентября 2011

У меня есть GtkFrame, содержащий набор GtkEntries. Я хочу скрыть этот GtkFrame, когда фокус удаляется из GtkFrame. Я подключил обработчик к сигналу "focus-out-event" кадра, но он никогда не вызывается.

Есть идеи, как этого добиться?

1 Ответ

1 голос
/ 12 сентября 2011

Возможно, что у вашего кадра просто нет фокуса!

Постарайтесь сначала сфокусировать его:

 theFrame.grab_focus()

Надеюсь, что это работает (я не проверял)


«То, что мне нужно« обнаружить », - это когда фокус выходит за элемент, содержащийся в кадре»

Вы можете подключить событие «focus-out-event» к каждой записивашего кадра, например:

def outOfFocus(self, widget):
    focusInFrame = False
    for child in widget.get_parent():
        if child.has_focus():
            focusInFrame = True
    if focusInFrame == False:
        theFrame.hide()

Я все еще не проверял его, но у меня будет больше времени этим вечером.

...