簡體   English   中英

Python和Tkinter-在def中創建菜單

[英]Python & Tkinter - Creating a menu within a def

我試圖在名為“ Core”的功能之一中創建菜單。 用戶成功登錄其帳戶后,我便希望他們在新窗口創建的菜單中使用這些菜單,從而調用此函數。

我可以成功地在主基礎根目錄上創建菜單,但是由於它給了我這個錯誤,因此無法在被調用的函數中執行該菜單:“ AttributeError:'function'對象沒有屬性'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)

問題:我希望此菜單顯示在名為“ Core”的函數中,但是正如我之前所說的那樣,我收到此錯誤:“ AttributeError:'function'對象沒有屬性'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)

您嘗試在此代碼行中將類用作窗口小部件的父級:

mainMenu = menu(Core)

您需要提供一個有效的小部件,例如NewRoot

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM