python - 如何从 Tkinter 根窗口解除每个绑定(bind)

标签 python user-interface tkinter bind unbind

所以我在 Tkinter 中有一个应用程序,它在第一个屏幕中有很多按钮,当你按下一个按钮时,你会进入一个新的“窗口”(基本上销毁所有小部件并绘制“窗口”所需的小部件) )。有一个标准函数使用一些命令来销毁根上的每个子项。我想添加一些代码来解除在根目录中进行的所有绑定(bind)。特定小部件上的绑定(bind)会被破坏,但根上绑定(bind)的绑定(bind)会保留在那里并导致错误。

这是销毁小部件的代码。

@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)

最佳答案

Tkinter 中没有任何东西可以做你想做的事情。您的应用程序需要跟踪它想要删除的绑定(bind)。

话虽如此,根据您的实际问题的复杂程度,可能还有其他解决方案。例如,不要绑定(bind)到根窗口,而是绑定(bind)到自定义绑定(bind)标签(也称为绑定(bind)标签或bindtag)。然后,您需要将该标签添加到每个小部件以启用绑定(bind),并从任何现有小部件中删除该标签以有效禁用绑定(bind)。

关于python - 如何从 Tkinter 根窗口解除每个绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46371372/

相关文章:

java - 逻辑错误,还是对数据流的误解?

python - Menu 类中的 Tkinter 选项光标

python - django-admin.py : command not found (bluehost server)

python - pygame.draw.circle,仍然画一个正方形

python - 是否有 Tkinter/ttk 样式引用?

java - Python - 集成 Java GUI 和 python 代码的最佳方式

python - 如何在此按钮中垂直居中文本

python - 如何在 tkinter 列表框中突出显示选择?

python - 与 re.sub 混淆

python - 获取 "TypeError: ' 模块的对象不可调用"与 `socket.socket()`