我正在编写一个python脚本。这是我的python脚本:
import tkinter
def print_the_nothing_thing():
print ("I told you, nothing means nothing. For further assistance, please see:")
print ("https://www.youtube.com/watch?v=3WNlWyFgLCg")
print ("Type the url into the browser.")
#setup the window
window=tkinter.Tk()
menu=tkinter.Menu(window)
window.configure(menu=menu)
view=tkinter.Menu(menu)
file=tkinter.Menu(menu)
menu.add_cascade(label="File",menu=file)
menu.add_cascade(label="View",menu=view)
#here is my problem
view.add_command(label="Nothing here!",command=print_the_nothing_thing())
file.add_command(label="Nothing here!",command=print_the_nothing_thing())
helpm.add_command(label="Help",command=helpy())
window.mainloop()
我的问题是,当我定义函数时,它首先运行函数。关闭后,菜单命令不执行任何操作。
答案 0 :(得分:2)
您需要从()
行移除add_command
,例如
view.add_command(label="Nothing here!",command=print_the_nothing_thing)
file.add_command(label="Nothing here!",command=print_the_nothing_thing)
你在那里调用那些函数,然后返回None
。如果只使用函数的名称,则会得到一个函数对象。
答案 1 :(得分:1)
您正在调用add_command
中的函数:
view.add_command(label="Nothing here!",command=print_the_nothing_thing())
file.add_command(label="Nothing here!",command=print_the_nothing_thing())
helpm.add_command(label="Help",command=helpy())
相反,将add_command
指向函数名称;不执行它。
因此:
view.add_command(label="Nothing here!",command=print_the_nothing_thing)
file.add_command(label="Nothing here!",command=print_the_nothing_thing)
helpm.add_command(label="Help",command=helpy)