简单的GUI与图像

我试图在简单的GUI上显示一些卡片,但没有显示出来。

我已经上传了一个工作文件,上传了.gif文件,代码非常接近但不正确。 http://www.filedropper.com/cardgameproblem大小:0Kb,types:.zip

  • 包含1个.py和1个.gif

要看的线路在257-266开始。 我知道这只是一个小错误,但我看不到。

请帮忙

经过一番修改之后,我发现当存储在GUI的变量中时,图像被正确显示,即使用self

 self.gif1 = PhotoImage(file='1.gif') self.canvas.create_image(0, 0, image=self.gif1, anchor=NW) 

我不知道为什么,但这个工作,虽然命名变量只是gif1 (或任何其他名称),没有self ,不。 在你的代码和最小的例子中进行了测试。

更新:正如@Bryan指出的,当__init__完成时,垃圾收集器配置PhotoImage实例。 你必须保持对构造函数以外的实例的引用,例如使用selfglobal 考虑到手头的问题,最好创建一个dict ,用卡的名字作为关键字来存储图像。