Python Entry Button提交问题

时间:2018-08-07 21:40:04

标签: python python-3.x tkinter tkinter-entry

当前使用以下代码,我似乎遇到了一个奇怪的问题,当我单击“提交”按钮时,似乎也无法获得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()

3 个答案:

答案 0 :(得分:1)

您无法打印输入对象,需要打印输入对象中的文本。使用:

refreshToken.get()

答案 1 :(得分:0)

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

<entry_box>.get()

如果您要打印它,则可以执行以下操作:

print(<entry_box>.get())

或者您的情况:     打印(r.get())

希望这对您有用!

答案 2 :(得分:0)

我最终不得不更改此行    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())在功能中均无法使用。