【问题标题】:read widget values in python Tkinter在 python Tkinter 中读取小部件值
【发布时间】:2018-09-19 01:53:16
【问题描述】:

我想使用 Tkinter 将用户输入的真实值恢复到变量中。 这是我的代码

from Tkinter import *

master = Tk()
Label(master, text="real value 1").grid(row=0)
Label(master, text="real value 2").grid(row=1)

e1 = Entry(master)
e2 = Entry(master)

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

print e1.get()
x=e1.get()
mainloop( )

但是我的代码既不能打印我在表中输入的实际值,也不能将此数字分配给我的变量 x(我想在 tkinter 之外使用的变量)。如何获取用户输入的 e1、e2 值?

【问题讨论】:

  • 您在创建小部件后立即打印了值。用户什么时候有机会输入任何东西?您需要在稍后的某个时间调用.get(),在用户表示他们已完成输入之后 - 通常,这将在按钮的command= 选项指定的函数中。
  • @theausome 这是我第一次使用 tkinter ......谁能演示一下我的例子?
  • @jasonharper 我已经尝试在外面打印 e1.get(),但它仍然无法正常工作....
  • @S.Cheng 我的回答对你有用吗?如果接受,请记住接受它。

标签: python tkinter


【解决方案1】:

如前所述,您在用户有时间输入任何文本之前就已获取条目小部件的值。处理此问题的一种简单方法是在用户操作(例如按下按钮)后读取值。

from Tkinter import *

def readValues():
    print(e1.get())
    print(e2.get())

master = Tk()
Label(master, text="real value 1").grid(row=0)
Label(master, text="real value 2").grid(row=1)

e1 = Entry(master)
e2 = Entry(master)

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

Button(master,text="Go",command=readValues).grid(row=2)

mainloop( )

您也可以根据窗口关闭的时间来执行此操作。

【讨论】:

    猜你喜欢
    • 2012-10-30
    • 1970-01-01
    • 2021-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多