首页 > 解决方案 > 如何自动循环变量创建?

问题描述

当我们必须创建带有循环的 tk 对象时,这是一种解脱。但是我们想将它们命名为var0=first_entrythenvar1=second_entry等的时间呢?最优雅的方法是什么?

While i < 10:
            self.p{i} = tk.Entry(tk.Frame,
                        width=12).grid(row=2, column=i, pady=10) 
                        # self.p{i} is where i'm stuck

标签: pythonpython-3.xtkinter

解决方案


您基本上想要的只是字典(i用您的 Tkinter 表达式替换分配的):

d = {}
for i in range(10):
    d["var{0}".format(i)] = i

输出:

d
{'var0': 0,
 'var1': 1,
 'var2': 2,
 'var3': 3,
 'var4': 4,
 'var5': 5,
 'var6': 6,
 'var7': 7,
 'var8': 8,
 'var9': 9}

推荐阅读