带图像的简单GUI

时间:2012-10-25 11:08:02

标签: python windows image user-interface tkinter

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

我上传了一个包含我要上传的.gif的工作文件,代码很接近但不对。 http://www.filedropper.com/cardgameproblem大小:0Kb,类型:.zip

  • 包含1 .py和1 .gif

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

请帮忙

1 个答案:

答案 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__实例。您必须保留对构造函数范围之外的实例的引用,例如使用selfglobal。鉴于手头的问题,最好创建一个dict,使用卡片的名称存储图像作为键。

相关问题