擅长:python、mysql、java
<p>这可能是由于tkinter images出现了一个新的错误,我们必须保留一个对该图像的引用,以确保它能正常工作。我希望这会解决它</p>
<pre><code>canvas.img = img
</code></pre>
<p>另外,正如@Cool Cloud也指出的,它有时不能处理jpg文件,但对我来说有时也会,所以如果它不能处理你,你可以将它转换成png或gif(根据我遇到这些问题时的处理方式,我更喜欢png)。
此外,您还可以尝试使用PIL库来代替转换,PIL库可以使用</p>
<pre><code>pip install PIL
</code></pre>
<p>然后您可以使用一个名为PhotoImage的类(是的,它与tkinter类同名)来进行图像加载和填充,它位于ImageTk模块下,可用于处理tkinter图像</p>
<p>您还可以将图像对象作为参数传递到此类中,您可以创建图像对象,如所示:</p>
<pre><code>img_obj = Image.open('annoying_image.jpg') # uses the Image module from PIL use import PIL.Image
</code></pre>
<p>像这样</p>
<pre><code>img = PIL.ImageTk.PhotoImage(img_obj) # uses the Image module from PIL use import PIL.ImageTk
</code></pre>
<p>另外,如果您想了解更多关于PIL的信息,它基本上只是一个python图像处理库,通常也称为pillow</p>
<p>导入语句(以防不清楚)</p>
<pre><code>from PIL import Image, ImageTk
</code></pre>