检测框架中的失去焦点事件
我有一个GtkFrame,里面放了一些GtkEntries(就是输入框)。我想在这个GtkFrame失去焦点的时候把它隐藏起来。于是我给这个框架连接了一个处理函数,用来响应“失去焦点”的事件,但这个处理函数从来没有被调用过。
有没有什么办法可以做到这一点呢?
1 个回答
1
可能是你的框架从来没有获得焦点!
先试着给它设置焦点:
theFrame.grab_focus()
希望这样能解决问题(我还没测试过)
“我需要‘检测’的是焦点何时移出框架中的某个元素”
你可以给框架中的每个元素连接一个“失去焦点事件”,比如:
def outOfFocus(self, widget):
focusInFrame = False
for child in widget.get_parent():
if child.has_focus():
focusInFrame = True
if focusInFrame == False:
theFrame.hide()
我还没测试过,但今晚会有更多时间。