在 tkinter canvas 上动态 create/delete 绘制对象?

Dynamically create/delete drawn objects on tkinter canvas?

我已经设法使用以下代码在 tkinter canvas 小部件上动态创建各种矩形:

setattr(self, "wall_" + str(counter), self.canvas_base.create_rectangle(*sel_wall,fill="black"))

其中counter为递增可变整数,canvas_base为正在绘制的canvas,suffixaa之间交替的字符串bsel_wall 是用于绘制矩形的坐标列表。

有没有办法动态删除 canvas 上的这些对象(从 wall_1wall_5 之类的),或者是否有更好的替代组合 create/delete 这些 canvas 个对象?

当您需要处理任意数量的相似对象时,正确的解决方案是将它们放在一个列表(或其他容器对象)中。您可以轻松地遍历列表以对所有对象执行某些操作,例如删除它们。