如何在tkinter中每次循环时都制作一个新标签



所以,假设每次运行循环时,我都想在Tkinter中创建一个新标签。我不知道怎么做,这一直是我正在做的项目的障碍。

import tkinter as tk
wndw= tk.Tk()
wndw.configure(background="white")
canvas1 = tk.Canvas(wndw, width = 500, height = 500)
canvas1.pack()
for i in range(0,10):
#over here I want to continuously make a label(which is distinct from 
#the last one)until the loop is finished

虽然我知道在这种情况下,我可以手动制作10个不同的标签,但我需要能够为我正在做的项目自动制作它们。

请记住,我正在使用Tkinter。如果有任何方法可以做到这一点,如果你告诉我如何做,我将不胜感激。

labels = {}
for i in range(10):
labels[i] = tk.Label(text="Label %d" % i)
labels[i].pack()

这将为您提供一组独特的标签。只需插入上面的内容来代替for循环。

上面的内容将标签对象存储在dict中,因此您可以很容易地访问它们。因为每个标签的文本都包含其索引号,所以每个标签都是唯一的。

如果您不需要存储标签对象,您可以将以上内容缩短为:

for i in range(10):
tk.Label(text="Label %d" % i).pack()

与大多数Tkinter小部件一样,标签采用text关键字,通过该关键字可以定义小部件上显示的文本。

最新更新