2015-04-19 5 views
1

Я смущен тем, как получить значение, введенное в Entry(), переменной. любая идея или предложение о том, как ее решить.Python tkinter entry() не возвращает никакого значения переменной


import sys 
from tkinter import * 
from tkinter import messagebox 

root=Tk() 
root.title('Test') 

e1=Entry(root) 
e1.grid(row=1) 

global e 
e=e1.get() 

def display(): 
    messagebox.showinfo(title="Message",message=e) 

Submit=Button(root, justify=LEFT, padx=5,text="Submit",command= display).grid(row=2,sticky=W) 

root.mainloop() 

Я хочу, чтобы значение, введенное в поле ввода, которое будет отображаться в окне сообщения.

ответ

2

e будет ссылаться на пустую строку и не будет изменяться, поскольку он установлен только после инициализации виджета Entry.

Чтобы получить текущее значение виджета ввода, вам необходимо позвонить e1.get().

def display(): 
    messagebox.showinfo(title="Message", message=e1.get()) 
+0

ОК .., но когда я делаю это, окно с отображением некоторого другого значения, например «37582768get». Фактическое значение, которое я ввел, равно 5. – Shiv18

+0

@ Shiv18. Это то, что у меня есть: http://i.imgur.com/QQX7LXj.png. Кстати, я удалил инструкцию 'global e'. – falsetru

+0

@ Shiv18: У вас есть какой-либо другой 'e1' в вашем коде? – falsetru