有没有办法将 Tkinter 菜单放入最终项目?

is there a way to put Tkinter menu to final project?

我正在为我的考试项目创建一个游戏,并且正在努力将我的代码和 Tkinter 菜单整合在一起。

我有一个名为 'Arcade Final' 的项目,它显示了用户可以玩的所有游戏。我将这些游戏导入到我的最终代码中,并在按下相关按钮后调用它们。

如何导入 Tkinter 代码而不像这样在白框中显示它,而只在顶部显示菜单?

the current output

您的问题的可能原因是您在 sub-files 中调用 Tk(),它调用称为根 window 的白框。

您可以通过返回一个包含所有小部件的框架来解决这个问题,然后在主文件中添加菜单栏。

示例:

  • 包含游戏的文件:
# test.py
from tkinter import Frame,Label
def a(root):
    a=Frame(root)
    b=Label(a,text="Hello!")
    b.pack()
    a.pack()
    return a
  • 对于主文件:
import tkinter as tk
a1=tk.Tk()
mb=  Menubutton ( a1, text="condiments", relief=RAISED )
mb.pack()
mb.menu =  Menu ( mb, tearoff = 0 )
mb["menu"] =  mb.menu

mayoVar = IntVar()
ketchVar = IntVar()

mb.menu.add_checkbutton ( label="mayo",
                          variable=mayoVar )
mb.menu.add_checkbutton ( label="ketchup",
                          variable=ketchVar )
a(a1)
a1.mainloop()