Python 3.x 我可以使用循环自动定义tkinter小部件吗?
在下一个代码Python 3.x 我可以使用循环自动定义tkinter小部件吗?,python-3.x,tkinter,label,tkinter-entry,Python 3.x,Tkinter,Label,Tkinter Entry,在下一个代码中,类别是一个列表。代码创建一个窗口,并为列表中的每个项目添加标签和条目 类Win3(): 定义初始(自、主、类别): self.master=master 自主几何体('400x250') self.master.reshable(False,False) self.frame=frame(self.master) self.frame.grid(行=0,列=0,粘性=NW) y=0 对于类别中的x: 标签(self.frame,bg='#92DBE9',宽度=15,文本=x).g
中,类别是一个列表。代码创建一个窗口,并为列表中的每个项目添加标签和条目
类Win3():
定义初始(自、主、类别):
self.master=master
自主几何体('400x250')
self.master.reshable(False,False)
self.frame=frame(self.master)
self.frame.grid(行=0,列=0,粘性=NW)
y=0
对于类别中的x:
标签(self.frame,bg='#92DBE9',宽度=15,文本=x).grid(行=y,列=0,padx=2,pady=2)
条目(self.frame,bd=1,width=20).grid(行=y,列=2,padx=2,pady=2)
y+=1
如何定义标签以便定义标签和条目,如label1
,entry1
label2
,entry2
,。。。
我想使用它,这样在创建标签或插入内容后,我仍然可以更改它们的文本。您不需要“定义标签和条目,如label1、entry1 label2、entry2”。这些名字无关紧要。您可以将它们另存为字典或列表中的元素
labels = []
entries = []
for x in categories:
label = Label(self.frame, bg='#92DBE9' ,width=15 ,text=x)
entry = Entry(self.frame, bd=1, width = 20)
label.grid(row=y,column=0,padx=2,pady=2)
entry.grid(row=y,column=2, padx=2,pady=2)
labels.append(label)
entries.append(entry)
y+=1
这样,您现在就可以使用类似于标签[0]
、标签[1]
等内容访问标签。参赛作品也是如此。非常感谢你,布莱恩!这很有效,你的解释很有帮助!