1

我有一个程序可以一次显示许多 tkinter PhotoImages(相关:我没有使用 PIL)。它目前有几个屏幕,当播放到边缘时,它会加载一个新的 tilemap,在清除旧内容后在 currentTiles 数组中创建更多的照片图像。我相当确定在程序的其余部分中没有其他对这些照片图像的引用。

奇怪的是,当我在调用 loadLevel 函数后打印数组中最后一项的内容时,它会显示诸如“pyimage3761”之类的内容,并且每次加载新屏幕时都会递增。这是由于 tkinter 跟踪到目前为止已创建了多少,还是因为旧的瓷砖仍在内存中?我一生都无法弄清楚哪里还有其他参考,所以我只是想知道在我花费数小时寻找错误之前是否还有其他可能性。

谢谢!!

4

1 回答 1

2

每个创建的图像都被分配一个唯一的名称(除非您在创建时指定图像的名称)。此唯一名称是通过使用单调递增的计数器生成的。

于 2013-04-26T17:14:16.027 回答