如何在Python 3中创建动态变量

时间:2015-10-07 13:36:57

标签: python tkinter python-3.4

我正在尝试从Tkinter dump()小部件中获取值,但它会返回Entry()

str() has no attribute get()

1 个答案:

答案 0 :(得分:0)

这段代码就是问题:

def getter():
    for i in a:
        b=i.get()     #i is read as string and not as variable

a是由三个字符串组成的集合。迭代它时,i将是一个字符串。因此,当您致电i.get()时,您尝试在字符串上拨打.get()

一种解决方案是将您的条目小部件存储在列表中,这样您就可以迭代它:

widgets = []
for i in a:
    i=Entry(root)
    i.pack()
    widgets.append(i)
...
for i in widgets:
    b=i.get()
    ...

如果您希望小部件与字母相关联,请使用字典:

widgets = {}
for i in a:
    i=Entry(root)
    i.pack()
    widgets[a] = i
...
for i in a:
    b=widgets[i].get()