0

我如何从按钮命令中获得返回也尝试没有 lambda 不起作用

import tkinter as tk

#value = ''
def button(e,f):
    #global value
    value = e.get()
    f.destroy()
    return value

def display(root):
    value=''
    f = tk.Frame(root,width=200 ,height=200)
    f.place(x=0,y=0)
    
    e = tk.Entry(f,width=200,font=17)
    e.place(x=0,y=0)
    
    b = tk.Button(f,text="submit",command = lambda : value == button(e,f))
    b.place(x=0,y=40)

    return value

root = tk.Tk()
root.geometry("200x200")
value = display(root)
print(value)
root.mainloop()
#print(value)

#print(value) <-- 使用全局打印,但仅在我关闭根窗口时打印

4

2 回答 2

0

您无法从事件调用的函数中获取返回值。

如果您希望打印在mainloop退出后工作,您需要让函数设置一个全局变量或实例变量。

于 2021-09-18T17:03:06.163 回答
0

在主循环内单击按钮时获取条目的任何其他方式

该函数在 mainloop 内部button执行,因此您在mainloop内部已经有了入口值;你可以在那里做任何你想做的事情。

于 2021-09-26T08:06:32.607 回答