在 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,suffix
为a
和a
之间交替的字符串b
,sel_wall
是用于绘制矩形的坐标列表。
有没有办法动态删除 canvas 上的这些对象(从 wall_1
到 wall_5
之类的),或者是否有更好的替代组合 create/delete 这些 canvas 个对象?
当您需要处理任意数量的相似对象时,正确的解决方案是将它们放在一个列表(或其他容器对象)中。您可以轻松地遍历列表以对所有对象执行某些操作,例如删除它们。
我已经设法使用以下代码在 tkinter canvas 小部件上动态创建各种矩形:
setattr(self, "wall_" + str(counter), self.canvas_base.create_rectangle(*sel_wall,fill="black"))
其中counter
为递增可变整数,canvas_base
为正在绘制的canvas,suffix
为a
和a
之间交替的字符串b
,sel_wall
是用于绘制矩形的坐标列表。
有没有办法动态删除 canvas 上的这些对象(从 wall_1
到 wall_5
之类的),或者是否有更好的替代组合 create/delete 这些 canvas 个对象?
当您需要处理任意数量的相似对象时,正确的解决方案是将它们放在一个列表(或其他容器对象)中。您可以轻松地遍历列表以对所有对象执行某些操作,例如删除它们。