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