Python 输入按钮提交问题

Python Entry Button Submit issues

目前使用下面的代码我似乎遇到了一个奇怪的问题,而且当我单击提交按钮时似乎无法获得 refreshtoken 的值。我确实得到了 word 的打印,但是对于 refreshtoken,我在控制台中收到了 .!entry。

def getCommand(r):
print('word')
print(r)


tokenWindowFrame = Tk()
tokenWindowFrame.title("Add Character")
refreshLabel = ttk.Label(tokenWindowFrame, text="Refresh Token : ")
refreshLabel.grid(row=1,column=1)
refreshToken = ttk.Entry(tokenWindowFrame, width = 50)
refreshToken.grid(row=1,column=2)
button = ttk.Button(tokenWindowFrame, text = "Submit", command=lambda 
r=refreshToken: getCommand(r))
button.grid(row=3,column=2)



tokenWindowFrame.mainloop()

您不能打印条目对象,您需要打印条目对象中的文本。使用:

refreshToken.get()

要在输入框中获取文本,您需要:

<entry_box>.get()

如果你想打印它,那么你可以这样做:

print(<entry_box>.get())

或者在你的情况下: print(r.get())

希望这对你有用!

我最终不得不更改这一行 button = ttk.Button(tokenWindowFrame, text = "Submit", command=lambda r=refreshToken: getCommand(r)) 到 : button = ttk.Button(tokenWindowFrame, text = "Submit", command=lambda r=refreshToken: getCommand(r.get()))

r.get() 正是我所缺少的。因为 print(r.get()) 在函数中都不起作用。