对图像对象的唯一引用是局部变量。当
__init__退出时,被当作垃圾回收的局部变量,因此图像被破坏。在第二个示例中,由于映像是在全局级别创建的,因此它永远不会超出范围,因此也不会进行垃圾回收。
要解决此问题,请保存对图像的引用。例如,代替
photouse
self.photo。

对图像对象的唯一引用是局部变量。当
__init__退出时,被当作垃圾回收的局部变量,因此图像被破坏。在第二个示例中,由于映像是在全局级别创建的,因此它永远不会超出范围,因此也不会进行垃圾回收。
要解决此问题,请保存对图像的引用。例如,代替
photouse
self.photo。