如何返回字典中的函数值

时间:2019-02-26 20:07:55

标签: python python-3.x loops dictionary tkinter

我有一个tkinter项目,尝试使未知的Entry数量并在单击按钮后获得其值!我尝试了很多方法,但是声明后无法返回Entry值!这是我的方法:

from tkinter import Entry, Tk, Button

l = [50]


def entry(x, y):
    global data
    e = Entry()
    e.place(x=x, y=y, height=20, width=100)
    data = e.get()
    return data


def loop():
    n = 0
    s = l[0]
    for_x = 10
    for_y = 10
    global en
    en = dict()
    while True:
        if n == s:
            break
        else:
            en[n] = entry(for_x, for_y)
            n = n + 1
            if for_y >= 400:
                for_x = for_x + 110
                for_y = 10
                print("110")
            else:
                for_y = for_y + 30
                print("30")
            print("finally")


root = Tk()

root.minsize(500, 500)

loop()


def dp():
    print(en)


b = Button(command=dp)
b.place(x=480, y=400)
root.mainloop()

但是,字典确实显示了值,但仅显示了在声明小部件时的值!我想在声明后得到它的价值!有什么想法吗?

1 个答案:

答案 0 :(得分:0)

在输入框创建期间,您正在运行%include "bpb.inc" 。您需要结合其他事件来运行e.get。您还应该返回Entry对象,而不是返回数据,例如:

e.get()