Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python tkinter,遍历范围以创建多个标签_Python_Tkinter - Fatal编程技术网

Python tkinter,遍历范围以创建多个标签

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)

我想创建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)
                 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