使用For循环动态设置类变量值

时间:2019-04-16 09:39:27

标签: python-3.x tkinter

我是python的初学者,因此希望获得帮助和/或建议。 我有一个tkinter.Frame类,具有多个Entry小部件。我想要的是使用for循环将这些条目小部件的文本设置为来自另一个对象的值,其中包含包含变量名或“键”的列表。

我可以通过分别访问每个小部件,然后使用entry.insert()方法来做到这一点。

if person1.first_name is not None:
    self.first_name.insert(0, person1.first_name)
if person1.last_name is not None:
    self.last_name.insert(0, person1.last_name)
if person1.age is not None:
    self.age.insert(0, person1.age)

但是,我不认为如果小部件数量增加,这不是最好的方法。 我想要的就是这样。

# list containing names of entry widgets in frame class which share same name
# as object(person1) variables
list_keys = ['first_name', 'last_name', 'age']

def fill_entries(self, person1, list_keys)
    for x in list_keys:
        if person1.list_keys[x] is not None:
            self.list_keys[x].insert(0, str(person1.list_keys[x])

如果参数对象的值不为None,我想填充框架类中的条目。

0 个答案:

没有答案