删除 tkinter 画布上的所有元素并重新绘制,还是使用 move 更新元素?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了删除 tkinter 画布上的所有元素并重新绘制,还是使用 move 更新元素?相关的知识,希望对你有一定的参考价值。
我的工作是模拟生活在二维世界中的物体(圆)(这些物体会移动,并且可以相互碰撞,它们会发生碰撞).为了查看模拟,我使用了 tkinter 模块.所有定义模拟的每个状态的变量都是使用我在 tkinter 实现之外的递归函数来计算的(这样我就可以运行模拟,而不必浪费时间绘制)。 我的问题是:你认为将模拟状态绘制到 tkinter 画布中会有什么更好的方法:删除所有以前的状态元素,并为每个新的状态重新绘制所有新的状态元素,或者找到一种方法,能够为每个新的状态使用 tkinter 画布方法 move 更新元素的位置。
答案
最好是更新元素而不是创建新的元素。你不能在画布上创建无限的项目,而且你创建的项目越多(即使你后来销毁了它们),画布的速度就越慢。虽然画布可以处理几千个项目,但一旦你开始进入数万个项目,你就会开始出现问题。
以上是关于删除 tkinter 画布上的所有元素并重新绘制,还是使用 move 更新元素?的主要内容,如果未能解决你的问题,请参考以下文章
Python3 tkinter基础 Canvas delete 删除画布中的所有图形