【问题标题】:Entry is returning nothing [duplicate]条目没有返回任何内容[重复]
【发布时间】:2017-10-23 18:56:47
【问题描述】:

使用代码时我收到一个空白输出:

from Tkinter import *

global entry1

root = Tk()

def printentry1():
    global entry1
    print entry1

entry1 = Entry(root)
button = Button(root,text="Submit",command=printentry1)

entry1.pack()
entry1=entry1.get()
button.pack()


root.mainloop()

我希望它打印他们在 Shell/Console 的输入框中输入的内容。它的返回“”。请帮助运行 Py2.7

【问题讨论】:

  • 你 get() 值只有一次(重新定义条目时),所以总是有一个空白输出。为什么不在你的回调中只使用print(entry1.get())?
  • 当我使用 print(entry1.get()) 时,它会打印一个随机的东西,例如 .57381704L 并且每次都不同

标签: python python-2.7 tkinter


【解决方案1】:

在mainloop 之前执行entry1=entry1.get() 将导致entry1 在窗口出现之前具有条目小部件内的值。由于用户有零秒的时间输入任何内容,该值将是空字符串。删除该行。

删除该行后,在回调中打印entry 将为您提供类似“.57381704L”的值。那是小部件的唯一标识符。如果要获取条目的文本内容,请打印entry1.get()。

您不需要全局语句。这些仅在您在函数内重新分配 entry1 的值时才有用,这里没有必要。

from Tkinter import *

root = Tk()

def printentry1():
    print entry1.get()

entry1 = Entry(root)
button = Button(root,text="Submit",command=printentry1)
entry1.pack()
button.pack()
root.mainloop()

【讨论】:

  • 非常感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-07-30
  • 2021-04-01
  • 2016-06-23
  • 2018-04-05
  • 1970-01-01
  • 1970-01-01
  • 2016-08-10
相关资源
最近更新 更多