标签:python tkinter image-processing
我正在制作一个更简单的应用程序,它在向用户显示一个包含一些基本信息和图片的页面之前,允许他们单击按钮以查看实时比特币价格数据.但是,当我将图像添加到“启动”页面时,我从IDE中得到了以下错误:
BTC_img_label = tk.Label(self, image=BTC_img)
File "C:\Python34\lib\tkinter\__init__.py", line 2609, in __init__
Widget.__init__(self, master, 'label', cnf, kw)
File "C:\Python34\lib\tkinter\__init__.py", line 2127, in __init__
(widgetName, self._w) + extra + self._options(cnf))
_tkinter.TclError: image "pyimage10" doesn't exist
我相信这些是引起我的错误的代码行(它们是将图像添加到“启动”页面的相同行):
BTC_img = tk.PhotoImage(file='bitcoin.png')
BTC_img_label = tk.Label(self, image=BTC_img)
BTC_img_label.image = BTC_img
BTC_img_label.grid(row=2, column=0)
我还注意到,运行该程序时,我设置的图标未显示在GUI窗口中,仅显示默认的Tkinter羽毛图标.如果有人感兴趣,这是我的图标设置代码(尽管我很确定这不会引起我的错误):
tk.Tk.iconbitmap(self, default='main.ico')
是的,对于任何想知道的人,我确实将tkinter导入为tk,所以这不是我的错误.如果有人能告诉我为什么会发生此错误,我将非常感兴趣:我还没有看到很多其他的例子,而我所看到的都没有提及我的图标问题.希望有人能弄清楚!
解决方法:
您无法使用tkinter加载.png格式.您需要为此使用PIL库:
import PIL
image = PIL.Image.open("bitcoin.png")
BTC_img = PIL.ImageTk.PhotoImage(image)
BTC_img_label = tk.Label(self, image=BTC_img)
BTC_img_label.image = BTC_img
BTC_img_label.grid(row=2, column=0)
编辑:
请创建一个test.py文件并运行以下确切代码:
import tkinter as tk
from PIL import Image, ImageTk
root = tk.Tk()
image = Image.open("bitcoin.png")
photo = ImageTk.PhotoImage(image)
label = tk.Label(root, image=photo)
label.image = photo
label.grid(row=2, column=0)
#Start the program
root.mainloop()
告诉我您是否遇到错误.
标签:python,tkinter,image-processing 来源: https://codeday.me/bug/20191012/1898869.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。