我正在尝试在简单的GUI上显示一些卡,但没有显示。
我已经上传了一个工作文件,我想上传.gif,并且代码很接近,但不正确。http://www.filedropper.com/cardgameproblem尺寸:0KB,类型:.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
实例处置。您必须在构造函数的范围之外保留对实例的参考,例如使用self
或global
。鉴于手头的问题,最好创建一个dict
,使用卡的名称作为键存储图像。