如何将条目的值放入 tkinter 中的变量中

How to put the value of an entry into a variable in tkinter

我正在尝试获取 tkinter 中条目的值!

当我直接打印值时(例如 print(e2.get() )它运行良好,但是当我将它放入一个变量然后打印它时(例如 x = e2.get () print(x) ) 它不起作用!

代码如下:

import tkinter as tk

def show_entry_fields():
    print("First Name: %s\n Last Name: %s" % (x, e2.get()))

master = tk.Tk()
tk.Label(master, 
         text="First Name").grid(row=0)
tk.Label(master, 
         text="Last Name").grid(row=1)

e1 = tk.Entry(master)
e2 = tk.Entry(master)

e1.grid(row=0, column=1)
e2.grid(row=1, column=1)

x = e1.get()

tk.Button(master, 
          text='Quit', 
          command=master.quit).grid(row=3, 
                                    column=0, 
                                    sticky=tk.W, 
                                    pady=4)
tk.Button(master, 
          text='Show', command=show_entry_fields).grid(row=3, 
                                                       column=1, 
                                                       sticky=tk.W, 
                                                       pady=4)

tk.mainloop()

我需要将入口值放在一个变量中,我该怎么做?

明白了就简单了:

当代码通过 x = e1.get() 时,e1 等于 ""

写入 e1 并在单击按钮时调用 def show_entry_fields

但是 x 总是等于 ""。 并且 e1.get() 获取 e1 中的文本。

所以这就是为什么 print(x) 等于 "" 因为你只经过了一次 x = e1.get() 线!