我在tkinter上遇到问题-我正在尝试: 1)从列表中生成一堆按钮 2)每个按钮中都有一个特殊值,对应于列表中的索引 3)调用具有该特殊值作为参数的函数
为此,我提出了两种解决方案: 1)每个按钮都是列表中的字典,具有“按钮”值和“索引”值,并使用index作为参数。 问题:总是使用按钮列表中最后一项的索引 2)由于按钮是图像,因此将其索引存储为按钮文本,然后将其用作参数。 问题:无法弄清楚如何获得自己的值作为参数
有更好的方法吗?
代码:
for t in self.imglist:
self.tkimgs.append(ImageTk.PhotoImage(t))
tlimg = {}
tlimg["index"] = i
tlimg["button"] = tk.Button(self,image = self.tkimgs[i],text = str(i),borderwidth=0)
self.imgs.append(tlimg)
for l in self.blist
l["button"].configure(command = lambda: self.function(int(l["index"]))) #uses index of last item in self.blist
l["button"].grid(row=5,column=l["index"]) #note that this puts it in correct spot