我有一个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()
但是,字典确实显示了值,但仅显示了在声明小部件时的值!我想在声明后得到它的价值!有什么想法吗?
答案 0 :(得分:0)
在输入框创建期间,您正在运行%include "bpb.inc"
。您需要结合其他事件来运行e.get
。您还应该返回Entry对象,而不是返回数据,例如:
e.get()