2017-05-01 58 views
0

我试图在我的一个名为“Core”的函数中创建一个菜单。这个函数在用户成功登录账户后被调用,我只是希望他们在新窗口创建时使用这些菜单。Python&Tkinter - 在def中创建菜单

我可以成功创建菜单到主基础根,但我不能在被调用的函数内部执行,因为它给了我这个错误:“AttributeError:'function'object has no attribute'tk' “

这是函数本身:(myGUI是主要的根)

def Core(): 
myGUI.withdraw() 
NewRoot = Toplevel(myGUI, 
        bg="powderblue") 
NewRoot.geometry('800x500') 
NewRoot.resizable(width=False, height=False) 

它被一个内使用的‘IF’环,例如,如果用户将在正确的凭据然后运行上述的功能。

这是放在IF循环中。

myGUI.after(1000, Core) 

的问题:我想这个菜单命名为“核心”该函数中显示,但正如我之前所说,我得到这个错误:“AttributeError的:‘功能’对象有没有属性‘TK’

# Creating a menu 
mainMenu = Menu(Core) 
Core.config(menu=mainMenu) 
CoreContentMenu = Menu(mainMenu) 
mainMenu.add_cascade(label="Support", menu=CoreContentMenu) 
CoreContentMenu.add_command=Label("Frequent Asked Questions", command=lambda: GoFrame(FAQ)) 

我知道错误在这里,因为我打电话给那个功能,但我怎么能使它工作?任何帮助非常感谢!

mainMenu = Menu(CoreContent) 

回答

0

你试图使用一个类,小部件的父母,在这行代码:

mainMenu = menu(Core) 

您需要提供一个有效的部件,诸如NewRoot

+0

刚刚意识到我的错误。 现在我只是遇到了在菜单中添加命令的问题。 – sago