我正在尝试使用Button小部件创建一个GUI,该GUI将在Entry()中输入的文本显示在Canvas()小部件中。关于为什么这不起作用的任何想法?
import Tkinter
master = Tkinter.Tk()
Canvass = Tkinter.Canvas(master)
Canvass.pack()
Entry = Tkinter.Entry(master)
Entry.pack()
def CreateText():
Canvass.create_text(100, 200, anchor="center", text=Entry.get())
Button = Tkinter.Button(text="Press Me",command=CreateText())
Button.pack()
master.mainloop()
答案 0 :(得分:1)
问题在于这一行:
Button = Tkinter.Button(text="Press Me",command=CreateText())
在这里,你执行一次回调方法(将tex字段的当前内容,空字符串添加到画布),并设置结果作为回调函数,即None
。
相反,你必须传递函数本身,而不是调用它。
Button = Tkinter.Button(text="Press Me",command=CreateText)
答案 1 :(得分:0)
在将命令赋予
时,不要在方法名称后面加上大括号