为什么itemconfig显示数字而不是变量?

时间:2018-03-04 18:05:49

标签: python canvas tkinter

我尝试创建一个输入字段并将其保存在变量中以将其放入Canvas,但是当我输入文本并提交时,会出现很多数字。我不明白为什么。

Before I type and submit text

After I type and submit a text

那是我的代码:

from tkinter import *

fen=Tk()
can=Canvas(fen, width=600, height=400, background="light pink")
def rep():
 reponse.get()
 can.itemconfig(banque,text= reponse)
banque=can.create_text(300,200, text="Nothing")
reponse=Entry(fen)
reponse.pack()
b=Button(fen, text="Submit",command=rep)
b.pack()
can.pack()
fen.mainloop()

1 个答案:

答案 0 :(得分:1)

替换:

def rep():
 reponse.get()
 can.itemconfig(banque,text= reponse)

使用:

def rep():
    can.itemconfig(banque, text=reponse.get())

由于reponse仍然是Entry引用,它具有有效的str表示,可以用作要显示的字符串值。< / p>

此外,entry_widget.get()返回一个字符串。它本身并没有修改任何东西,它只是返回entry_widget内写的字符串。

您看到的数字是Tcl解释器中对条目对象的引用。