我正在尝试在我的简单GUI上显示一些卡片,但它没有显示出来。
我上传了一个包含我要上传的.gif的工作文件,代码很接近但不对。 http://www.filedropper.com/cardgameproblem大小:0Kb,类型:.zip
要看的线路从257-266开始。我知道这只是一个小错误,但我看不到它。
请帮忙
答案 0 :(得分:1)
经过一些修补,我发现当存储在GUI的变量中时图像被正确显示,即使用self
self.gif1 = PhotoImage(file='1.gif')
self.canvas.create_image(0, 0, image=self.gif1, anchor=NW)
我不知道为什么,但是这是有效的,而在没有gif1
的情况下命名变量self
(或任何其他名称)则不然。在您的代码和最小示例中进行了测试。
更新:正如@Bryan指出的那样,垃圾收集器在PhotoImage
完成时处理__init__
实例。您必须保留对构造函数范围之外的实例的引用,例如使用self
或global
。鉴于手头的问题,最好创建一个dict
,使用卡片的名称存储图像作为键。