-1
完成後,我需要一個完成的變量來關閉窗口。菜單也是一個功能。我嘗試過root1.destory,但由於done函數無法看到root1是什麼,因爲它在一個函數內部,它說root1沒有定義。我將如何讓done函數了解root1是什麼並關閉它。這兩個函數都在其他地方調用。我正在使用函數,因爲我不希望它們直接啓動,只在被調用時纔會啓動。我的代碼是:如何讓函數讀取另一個函數
def edit_menu():
root1 = Tk()
root1.title("Edit Menu")
menu = Frame(root1)
menu.pack(pady = 5, padx = 50)
var = StringVar(root1)
options = [
"Forename",
"Surname",
"Email",
"Date of birth",
"Home address",
"Home phone number",
"Gender",
"Tutor group",
]
option = OptionMenu(menu, var, options[0], *options, command=edit_functions)
var.set('Select')
option.grid(row = 1, column = 1)
root1.mainloop()
return edit_menu
def done():
print()
done = (input("If you have finnished editing, type done: "))
if done == "done":
root1.destroy()
歡迎StackOverflow上。請閱讀並遵守幫助文檔中的發佈準則。 [最小,完整,可驗證的示例](http://stackoverflow.com/help/mcve)適用於此處。在發佈您的MCVE代碼並準確描述問題之前,我們無法爲您提供有效的幫助。 我們應該能夠將發佈的代碼粘貼到文本文件中,並重現您描述的問題。 您的發佈代碼不足以顯示方法或引發錯誤。 – Prune
第一個問題是你在mainloop之後有一個函數。無論如何,沒有什麼能夠調用這個功能 –
在這裏沒有足夠的東西來弄清楚你如何期待它的工作。一般來說,你可以使'done'成爲一個類方法,或者將'root1'作爲參數傳遞給'done'。既然沒有課程,也沒有主要課程,很難看到你想要的東西。 – Prune