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