我的功能没有返回我在按钮点击时输入到输入框中的任何值:
from tkinter import *
import os
def onclick2():
val = box.get()
return(val)
root = Tk()
box = Entry(root)
box.pack()
buttonfortxtbox = Button(root, text="Check Result", font=('Cooper Black', 9), bd=10, width=20,command=onclick2)
buttonfortxtbox.pack(anchor = S)
print(onclick2())
root.mainloop()
答案 0 :(得分:2)
您的代码没有任何问题。但你的理解并不确切:
当您运行此行时:print(onclick2())
您正在尝试打印条目小部件的内容,该小部件在程序首次启动时为空。所以这是完全正常的,你没有在终端上看到任何东西。
要查看条目小部件的内容,请按以下方式稍微修改一下您的回调:
def onclick2():
val = box.get()
print(val)
# You can remove "return val" as it is completely useless for your context
通过这个简单的更改,您将在终端上看到None
,这与我上面描述的内容相对应。现在在条目小部件中键入内容并单击按钮:您输入的内容最终显示在输出(终端)上。
答案 1 :(得分:-1)
您正在尝试打印条目小部件的内容,但您正在使用该条目的变量来接收错误的内容。同时调用将输入窗口小部件中的内容打印到您的终端。
from tkinter import *
def onclick2():
val = boss.get()
print(val)
root = Tk()
boss = StringVar() # to receive the content in the entry
box = Entry(root , textvariable=boss)
box.pack()
buttonfortxtbox = Button(root, text="Check Result", font=('Cooper Black',
9), bd=10, width=20,command=onclick2)
buttonfortxtbox.pack(anchor = S)
#print(onclick2()) # don't need to call this
root.mainloop()