当我使用以下命令绘制形状:
canvas.create_rectangle(10, 10, 50, 50, color="green")
Tkinter是否会跟踪它被创建的事实?
在我编写的一个简单游戏中,我的代码有一个Frame来创建一堆矩形,然后绘制一个大的黑色矩形来清除屏幕,然后再绘制另一组更新后的矩形,以此类推。
我是否正在内存中创建数千个矩形对象?
我知道你可以将上面的代码分配给一个变量,但如果我不这样做,直接绘制到画布上,它是否会保留在内存中,还是只是像HTML5画布一样绘制像素?
答案:
Tkinter会跟踪其创建的事实。如果不将代码分配给变量并直接绘制到画布上,则会在每次绘制时创建新的矩形对象,可能会导致内存问题。
canvas
变量包含一个字符串。它不是一个画布,因此它没有与画布相同的方法。 - Bryan Oakleyscene = canvas(center=vector(0.5, 0, 5, 0), background=color.white)
然后scene.delete()
- Wei Shan Lee