【发布时间】:2021-04-12 21:52:21
【问题描述】:
我是 Tkinter 的新手,但我正在使用它来创建一个足球管理游戏 that looks like this。
我的代码按预期运行,但我担心它的效率。 在我的游戏中,我使用按钮小部件在菜单中导航,我创建的每个菜单都使用一个函数。我使用的代码看起来像这样:
frame = tk.Frame(root, #insert code)
transfersMenuButton = tk.Button(frame, command=TransfersMenu, #insert code)
button.place(frame, #insert code)
def TransfersMenu():
clear()
label = tk.Label(frame, #insert code)
label.place(frame, #insert code)
#more code
def clear():
frame.destroy()
frame = tk.Frame(root, #insert code)
如您所见,clear 命令会破坏框架并重新创建它。这是为了清除框架上的所有小部件并准备使用新小部件打开新菜单。由于创建新框架,销毁和重新创建小部件会导致内存泄漏吗?我不知道如何重写我的所有代码,以便我重用我的所有小部件而不是破坏它们,所以 - 如果是这样 - 我怎么能这样做呢? (对不起,如果我没有很好地传达这个问题)
【问题讨论】:
标签: python function user-interface tkinter widget