删除 tkinter 画布上的所有元素并重新绘制,还是使用 move 更新元素?

问题描述 投票:-1回答:1

我的工作是模拟生活在二维世界中的物体(圆)(这些物体会移动,并且可以相互碰撞,它们会发生碰撞).为了查看模拟,我使用了 tkinter 模块.所有定义模拟的每个状态的变量都是使用我在 tkinter 实现之外的递归函数来计算的(这样我就可以运行模拟,而不必浪费时间绘制)。 我的问题是:你认为将模拟状态绘制到 tkinter 画布中会有什么更好的方法:删除所有以前的状态元素,并为每个新的状态重新绘制所有新的状态元素,或者找到一种方法,能够为每个新的状态使用 tkinter 画布方法 move 更新元素的位置。

python canvas tkinter
1个回答
0
投票

最好是更新元素而不是创建新的元素。你不能在画布上创建无限的项目,而且你创建的项目越多(即使你后来销毁了它们),画布的速度就越慢。虽然画布可以处理几千个项目,但一旦你开始进入数万个项目,你就会开始出现问题。

© www.soinside.com 2019 - 2024. All rights reserved.