Python 2.7 检测网格移除的事件绑定(Python Tkinter)

Python 2.7 检测网格移除的事件绑定(Python Tkinter),python-2.7,tkinter,event-binding,Python 2.7,Tkinter,Event Binding,我正在用Python(2.7)设置Tkinter GUI。有一个地方我计划创建一个类似小部件的集合,使用grid()和grid\u remove()来选择在主窗口的特定位置可以看到其中的一个小部件。我有一个工作原型,但唯一的行为障碍是,当我grid\u remove()一个小部件隐藏它时,小部件保持焦点,甚至对键盘事件做出响应 是否有一些事件绑定可以用来自动检测grid\u remove()并强制小部件将焦点传递到其他位置?或者我只需将焦点更改放在按钮代码中即可执行网格移除()本身?您要绑定到事

我正在用Python(2.7)设置Tkinter GUI。有一个地方我计划创建一个类似小部件的集合,使用
grid()
grid\u remove()
来选择在主窗口的特定位置可以看到其中的一个小部件。我有一个工作原型,但唯一的行为障碍是,当我
grid\u remove()
一个小部件隐藏它时,小部件保持焦点,甚至对键盘事件做出响应


是否有一些事件绑定可以用来自动检测
grid\u remove()
并强制小部件将焦点传递到其他位置?或者我只需将焦点更改放在按钮代码中即可执行
网格移除()
本身?

您要绑定到
事件。从tcl/tk官方文档()中:

只要窗口的映射状态发生更改,就会生成映射和取消映射事件

窗口是在未映射状态下创建的。顶级窗口在转换到正常状态时将被映射,而在撤消和图标状态下将被取消映射。当其他窗口置于几何图形管理器(例如,块或网格)的控制下时,它们将被映射

仅当窗口及其所有祖先都已映射时,该窗口才可见。请注意,几何图形管理器通常不会映射其子对象,直到它们自己被映射,并且在它们成为未映射时取消映射所有子对象;因此,在Tk中,映射和取消映射事件指示窗口是否可见


您想绑定到
事件。从tcl/tk官方文档()中:

只要窗口的映射状态发生更改,就会生成映射和取消映射事件

窗口是在未映射状态下创建的。顶级窗口在转换到正常状态时将被映射,而在撤消和图标状态下将被取消映射。当其他窗口置于几何图形管理器(例如,块或网格)的控制下时,它们将被映射

仅当窗口及其所有祖先都已映射时,该窗口才可见。请注意,几何图形管理器通常不会映射其子对象,直到它们自己被映射,并且在它们成为未映射时取消映射所有子对象;因此,在Tk中,映射和取消映射事件指示窗口是否可见