2 回答

TA贡献1848条经验 获得超6个赞
您可以使用字典来存储所有标签,因为字典允许键和值之间的映射。这对您来说可能是什么样子的示例:
self.labels = {} #Creates an empty dictionary
self.labels["points"] = Label(master, text=Points, anchor='w')
self.labels["points"].pack.pack(fill='both', padx=10)
self.labels["Item1"] = Label(master, text=Item1, anchor='w')
self.labels["Item1"].pack(fill='both', padx=10)
#.... rest of labels here
或者,您可以使用列表来存储所有标签并使用索引访问每个标签。这样,您就不必在创建每个标签后手动打包它:
self.labels = []
self.labels.append(Label(master, text=Points, anchor='w'))
self.labels.append(Label(master, text=Item1, anchor='w'))
self.labels.append(Label(master, text=Item2, anchor='w'))
#.... rest of labels here
for label in self.labels:
label.pack(fill='both', padx=10)
最后,您可以为标签指定不同的名称。这可能是最清晰、最直接的选择:
self.points_label = Label(master, text=Points, anchor='w')
self.Item1_label = Label(master, text=Item1, anchor='w')
self.Item2_label = Label(master, text=Item2, anchor='w')
self.Item3_label = Label(master, text=Item3, anchor='w')
self.Item1Cost_label = Label(master, text=Item1Cost, anchor='w')
#.... rest of labels here. Don't forget to pack each one
请记住:标识符名称可以是任何你想要的(他们不都只是self.label用tkinter),只是,只要他们:
不要以数字开头
仅包含字母、数字和
_
's不是保留的 python 关键字/函数(不建议覆盖函数,尽管它是可能的。)
添加回答
举报