擅长:python、mysql、java
<p>这里可能存在的问题是,Python正在对图像进行垃圾收集,因此没有显示出来——这正是@nae的评论所暗示的。将其附加到<code>self</code>引用将阻止其被垃圾回收。在</p>
<pre><code>self.image = tk.PhotoImage(file="ice_mix.gif") # Use self.image
canvas.create_image(480, 258, image = self.image, anchor = tk.NW)
</code></pre>
<p>上的<a href="http://effbot.org/tkinterbook/photoimage.htm" rel="nofollow noreferrer">Tkinter Book</a>effbot.org网站解释如下:</p>
<blockquote>
<p>Note: When a PhotoImage object is garbage-collected by Python (e.g.
when you return from a function which stored an image in a local
variable), the image is cleared even if it’s being displayed by a
Tkinter widget.</p>
<p>To avoid this, the program must keep an extra reference to the image
object. A simple way to do this is to assign the image to a widget
attribute, like this:</p>
<pre><code>label = Label(image=photo)
label.image = photo # keep a reference!
label.pack()
</code></pre>
</blockquote>