我正在尝试使用类似小部件的一些应用程序,以下是我的Entry小部件创建的方式:
self.entries = []
for number in range(10):
name = "Group {}".format(number)
self.entries.append((name, tkinter.Entry(self.parent, width=55, state= "readonly", readonlybackground= "#ccdeea")))
我已将小部件放入列表,其中此列表中的每个对象都包含条目名称和小部件。
问题是如何为这个小部件使用的每个条目变量做出什么?
提前谢谢。
答案 0 :(得分:1)
你不需要名字
您可以创建包含条目的列表
self.entries = []
for _ in range(10):
entry = tkinter.Entry(self.parent, ...)
self.entries.append(entry)
以后再使用
print( self.entries[0].get() )
print( self.entries[1].get() )
# ...
或
for x in range(10):
print( self.entries[x].get() )
如果您必须使用StringVar()
,那么您仍然不需要名字
self.vars = []
for _ in range(10):
var = tkinter.StringVar()
tkinter.Entry(self.parent, textvariable=var)
self.vars.append(var)
以后再使用
print( self.vars[0].get() )
print( self.vars[1].get() )
# ...
或
for x in range(10):
print( self.vars[x].get() )
如果你真的需要一些名字,请使用字典
self.entries = {}
for x in range(10):
self.entries['Group {}'.format(x)] = tkinter.Entry(self.parent, ...)
以后你可以使用
self.entries['Group 0'].get()
self.entries['Group 1'].get()
# ...
但要使用for
,您需要再次format()
for x in range(10):
print( self.entries['Group {}'.format(x)].get() )
没有任何意义。