Tkinter求助:添加内容时显示.entry而非输入文本的问题
Tkinter Listbox显示.entry而非输入文本的问题解决
你的代码里有两个关键错误导致了这个问题:
- 调用
name.get时没有加括号,这只是引用了Entry的get方法对象,并没有实际执行它来获取输入框里的文本。正确写法是name.get()。 - 往Listbox里插入的是Entry组件对象
name,而不是获取到的用户输入内容,所以才会显示.entry这类对象标识。
修正后的代码如下:
from tkinter import * def click(): UsersName = name.get() # 加括号调用get方法获取输入文本 nameList.insert(END, UsersName) # 插入获取到的文本,而非Entry对象 window = Tk() window.title("Name List") window.geometry("400x400") window.configure(bg="light grey") label1 = Label(text="Enter a name:") label1.place(x=50,y=70) button1 = Button(text="Add to list",width=10, command=click) button1.place(x=290,y=70) nameList = Listbox() nameList.place(x=150,y=100,width=120,height=150) name = Entry(text="") name.place(x=150,y=70,width=120,height=20) window.mainloop()
你也可以简化click函数,直接在插入时调用get方法,省去中间变量:
def click(): nameList.insert(END, name.get())
内容的提问来源于stack exchange,提问作者HeetsMcGeets
相关产品推荐
相关产品推荐

