Возможно, что у вашего кадра просто нет фокуса!
Постарайтесь сначала сфокусировать его:
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()
Я все еще не проверял его, но у меня будет больше времени этим вечером.