我已经制作了一个gui,其中包含数量可变的按钮和条目,这取决于早期的用户输入。我想将新条目存储在列表中。然而,我的循环将只附加在循环中创建的最后一个条目。如何让每个按钮附加其各自的用户条目
def getFuseType():
(Fuse.fuseType).append(e.get()
print(Fuse.fuseType)
for i in range(1,int(Site.NoFuses)+1):
l = Label(FuseWindow, text = "Fuse Type")
e = Entry(FuseWindow)
l.grid(row = 1, column = i+3)
e.grid(row = 2, column = i+3)
b = Button(FuseWindow, text = "ok", command = getFuseType)
b.grid(row = 3, column = i+3)
Fuse GUI 看到我上传的图片,右上角的“OK”按钮会添加条目。我希望左上角的按钮也附加它各自的条目
问题是函数没有围绕
e
变量创建闭包,因此它们只影响分配给e
的最近(最后)个对象。如果你真的想这样做,你需要使用一个默认的参数从
for
中获取getFuseType
,它是在每次循环迭代中定义的,因此您只获取最后一个创建条目e
相关问题 更多 >
编程相关推荐