Python tkinter,遍历范围以创建多个标签
我想创建46个标签,名字是“cell\u 1……cell\n” 我尝试迭代使用一个for循环,该循环将1添加到n,并将一个字符串与下一个标签名连接起来,然后使用该字符串构建下一个标签。。但这是行不通的。有什么建议吗Python tkinter,遍历范围以创建多个标签,python,tkinter,Python,Tkinter,我想创建46个标签,名字是“cell\u 1……cell\n” 我尝试迭代使用一个for循环,该循环将1添加到n,并将一个字符串与下一个标签名连接起来,然后使用该字符串构建下一个标签。。但这是行不通的。有什么建议吗 x_axis = 50 y_axis = 50 for t in range(46): my_label = "self.cell_" + str(t)
x_axis = 50
y_axis = 50
for t in range(46):
my_label = "self.cell_" + str(t)
my_label = tk.Label(self.master, image=self.grey_cell_image, background='light
gray').place(x=x_axis, y=y_axis)
x_axis += 50
my\u label=“self.cell”+str(t)
将被替换为my\u label=tk.label(self.master,image=self.grey\u cell\u image,background='light gray')。place(x=x\u轴,y=y\u轴)
因为您替换了my\u label的数据
所以你应该把代码改成
my_label = {} #create a dictionary of label
x_axis = 50
y_axis = 50
for t in range(46):
my_label["self.cell_" + str(t)] = tk.Label(self.master, image=self.grey_cell_image, background='light gray').place(x=x_axis, y=y_axis)
x_axis += 50
由于您要编辑标签(n),因此可以使用my_label[“self.cell_1”]
调用标签1,或者如果您感到困惑,请使用此代码
my_label = {} #create a dictionary of label
x_axis = 50
y_axis = 50
for t in range(46):
my_label[t] = tk.Label(self.master, image=self.grey_cell_image, background='light gray').place(x=x_axis, y=y_axis)
x_axis += 50
通过
my_label[n]
调用label(n)
,这到底是怎么回事?没有理由在字典键中包含“self”,这可能会让刚刚学习python的人感到困惑。谢谢你,弗兰,我在代码中做了类似的事情,只是使用了一个列表。布莱恩,说得好,我会在以后的帖子中记住这一点。@布莱恩·诺克利,这就是我为什么展示我的第二个代码:D