我尝试为我正在迭代创建的一些spinbox设置默认值。我已经非常广泛地搜索了这个主题,并找到了两个选项。一个选项使用d = default sb.delete(0,“end”)和sb.insert(0,d),另一个选项使用StringVar()来设置textvariable的默认值。这两个选项似乎都不起作用,StringVar()选项链接所有值,这样当我更改一个值时,它会全部更改。
def skills(self):
self.genGet = {}
i=0
for key in Skills.genList:
self.var1 = tk.IntVar()
ttk.Label(self.frame, text=key).grid(column=0, row=i, sticky='W')
sbGen = tk.Spinbox(self.frame, from_=0, to=5, width=3)
sbGen.grid(column=1, row=i, sticky='W', pady=5, padx=5)
self.genGet[key] = (sbGen, self.var1)
i+=1
这是我的代码运行正常并创建除默认值之外的预期结果。
编辑 - 技能()是一个只包含几个词的类。