0
以下是生成一個帶有一個標籤「做某事」的Tkinter菜單。運行腳本會立即生成「完成」輸出,這意味着甚至在單擊「執行某些」菜單標籤之前也是如此。這是爲什麼?我對@staticmethod做錯了什麼? 感謝預期。在add_command
Tkinter菜單命令行動之前進行調用,爲什麼?
import Tkinter
class AppMenu(object):
def __init__(self, master):
self.master = master
self.file_content = "initialised"
self.menu_bar(self.file_content)
def menu_bar(self, file_content):
menu_bar = Tkinter.Menu(self.master)
self.menu_bar = Tkinter.Menu(self.master)
self.master.config(menu=self.menu_bar)
self.task_menu = Tkinter.Menu(self.menu_bar, tearoff = False)
self.task_menu.add_command(label = "do something", command = Convert.do(self.file_content))
self.menu_bar.add_cascade(label = "Task", menu = self.task_menu)
class Convert(object):
@staticmethod
def do(text):
print "done"
root = Tkinter.Tk()
Menu = AppMenu(root)
root.mainloop()