NameError'菜单'没有定义Python,Tkinter

时间:2014-10-14 14:09:07

标签: python tkinter

我在尝试运行此代码时遇到错误,错误如下:

NameError:名称'Menu'未定义

import Tkinter as tk
import Tkinter

class Navbar:
    menu = Menu()
    root.config(menu=menu)

    fileMenu = Menu(menu)
    menu.add_cascade(label='File', menu=fileMenu)
    fileMenu.add_command(label='New', command=doNothing)
    fileMenu.add_separator()
    fileMenu.add_command(label='Settings', command=doNothing)
    fileMenu.add_separator()
    fileMenu.add_command(label='Quit', command=doNothing)
class MainApplication(tk.Frame):
    def __init__(self, parent, *args, **kwargs):
        tk.Frame.__init__(self, parent, *args, **kwargs)
        self.navbar = Navbar(self)
        self.navbar.pack(side="left", fill="y")
if __name__ == "__main__":
    root = tk.Tk()
    MainApplication(root).pack(side="top", fill="both", expand=True)
    root.mainloop()

为什么我会收到此错误,我该怎么做才能阻止此错误发生?

1 个答案:

答案 0 :(得分:2)

MenuTkinter模块中的一个命令,就像您正在使用的TkFrame一样。由于您要导入模块两次,因此可以将其称为Tkinter.Menu(...)tk.Menu(...)

通常你只想要一次导入Tkinter。我猜你是从多个来源复制和粘贴代码。我的建议是import Tkinter as tk,然后对所有tkinter函数使用前缀tk.。我认为它使代码更容易理解。