0

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

我已经上传了一个带有我要上传的 .gif 的工作文件,并且代码很接近但不正确。 http://www.filedropper.com/cardgameproblem大小:0Kb,类型:.zip

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

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

请帮忙

4

1 回答 1

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

于 2012-10-25T12:00:00.313 回答