【问题标题】:How to put the value of an entry into a variable in tkinter如何将条目的值放入tkinter中的变量中
【发布时间】:2019-06-04 14:30:08
【问题描述】:

我正在尝试获取 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()?
  • 为什么你认为它不起作用? “不工作”是什么意思?你有错误吗?它是否得到错误的值?
  • 您知道当您执行x=e1.get() 时,它会及时获得值吗?如果e1 中的值发生变化,x 将不会在以后更新。
  • 没有错误,就在print("First Name: %s\n Last Name: %s" % (x, e2.get()))e2.get()要打印但是x没有!代替 x,打印一个空的内容! @HippolyteBRINGER @BryanOakley

标签: python tkinter tkinter-entry


【解决方案1】:

如果你明白了,那就简单了:

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

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

但x 始终等于""。 和e1.get() 获取e1 中的文字。

这就是为什么print(x) 等于"",因为您只经过一次x = e1.get()!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多