【发布时间】:2021-01-05 18:53:23
【问题描述】:
我正在尝试操作由 Tkinter Canvas 上的循环创建的一些 Canvas 对象。不幸的是,我无法访问循环外这些矩形的坐标,只能访问其中一个。如何访问由循环外的循环创建的所有矩形以获取它们的坐标以及操作它们?这个问题可能没有意义,所以如果你不明白,请问我,我会尽力解释得更好。谢谢!
for y in range(2):
for x in range(2):
x1 = x*230
y1 = y*230
height = x1 + 200
width = y1 + 200
music_catalog_rect = canvas.create_rectangle((x1, y1, height, width), fill='red')
canvas.move(music_catalog_rect, 180, 20)
【问题讨论】:
-
您需要将
music_catalog_rect的每个值存储在循环外部存在的某个容器中:也许将它们附加到列表中,也许将它们存储在由(x, y)键入的字典中。跨度> -
感谢您的快速回答。我试图将它们附加到列表中,但后来不知道如何访问它们以操纵它们。例如,当我附加它们时,我得到了一个值列表 (9,10,11,12)。
-
您可以将其中一个值作为参数传递给相关的 Canvas 方法 - 例如
canvas.move()。您很可能会遍历列表并依次对每个值调用这样的方法。 -
成功了!非常感谢!
标签: python tkinter tkinter-canvas