所以我在Tkinter有一个应用程序,它在第一个屏幕上有很多按钮,当你按下一个按钮时,你会进入一个新的" Window" (基本上会破坏所有小部件并绘制“窗口”所需的小部件)。有一个标准函数使用一些命令来销毁根上的每个子节点。我想添加一些代码,可以取消绑定在root中生成的所有绑定。特定小部件上的绑定会被破坏,但绑定在根上的绑定会停留在那里并导致错误。
这是破坏小部件的代码。
@staticmethod
def clear():
for widget in guihandle.root.winfo_children():
widget.destroy()
@staticmethod
def set(db,table):
guihandle.clear()
curW = Window(db,table)
guihandle.current_Window = curW
curW.initialize()
guihandle.windows.push(curW)
(是的,我从sqlite3数据库制作基础GUI:P)
答案 0 :(得分:2)
Tkinter没有任何东西可以做你想做的事。您的应用需要跟踪它想要删除的绑定。
话虽如此,根据您的真实问题有多复杂,可能还有其他解决方案。例如,不是绑定到根窗口,而是绑定到自定义绑定标记(也称为绑定标记或绑定标记)。然后,您需要将该标记添加到每个窗口小部件以启用绑定,并从任何现有窗口小部件中删除标记以有效地禁用绑定。