鱼C论坛

 找回密码
 立即注册
查看: 5029|回复: 7

[已解决]Tkinter载入图片NameError问题

[复制链接]
发表于 2017-3-9 12:07:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
图片命名没有问题 把图片放在桌面了
报错如下
  1. Traceback (most recent call last):
  2.   File "C:\Users\Administrator\Desktop\3.py", line 30, in <module>
  3.     photo = photoImage(file="hhh.gif")
  4. NameError: name 'photoImage' is not defined
复制代码


代码如下:
  1. from tkinter import *

  2. root = Tk()

  3. textLabel = Label(root,text="Attention please!")
  4. textLabel.pack()

  5. photo = photoImage(file="hhh.gif")
  6. imgLabel = Label(root,image=photo)
  7. imgLabel.pack()

  8. mainloop()
复制代码


一开始以为可能是因为放在桌面不能直接载入
但是把完整路径放上之后也是出现同样的错误。。。
最佳答案
2017-3-9 12:20:42
>>> from tkinter import *
>>> dir()
['ACTIVE', 'ALL', 'ANCHOR', 'ARC', 'BASELINE', 'BEVEL', 'BOTH', 'BOTTOM', 'BROWSE', 'BUTT', 'BaseWidget', 'BitmapImage', 'BooleanVar', 'Button', 'CASCADE', 'CENTER', 'CHAR', 'CHECKBUTTON', 'CHORD', 'COMMAND', 'CURRENT', 'CallWrapper', 'Canvas', 'Checkbutton', 'DISABLED', 'DOTBOX', 'DoubleVar', 'E', 'END', 'EW', 'EXCEPTION', 'EXTENDED', 'Entry', 'Event', 'FALSE', 'FIRST', 'FLAT', 'Frame', 'GROOVE', 'Grid', 'HIDDEN', 'HORIZONTAL', 'INSERT', 'INSIDE', 'Image', 'IntVar', 'LAST', 'LEFT', 'Label', 'LabelFrame', 'Listbox', 'MITER', 'MOVETO', 'MULTIPLE', 'Menu', 'Menubutton', 'Message', 'Misc', 'N', 'NE', 'NO', 'NONE', 'NORMAL', 'NS', 'NSEW', 'NUMERIC', 'NW', 'NoDefaultRoot', 'OFF', 'ON', 'OUTSIDE', 'OptionMenu', 'PAGES', 'PIESLICE', 'PROJECTING', 'Pack', 'PanedWindow', 'PhotoImage', 'Place', 'RADIOBUTTON', 'RAISED', 'READABLE', 'RIDGE', 'RIGHT', 'ROUND', 'Radiobutton', 'S', 'SCROLL', 'SE', 'SEL', 'SEL_FIRST', 'SEL_LAST', 'SEPARATOR', 'SINGLE', 'SOLID', 'SUNKEN', 'SW', 'Scale', 'Scrollbar', 'Spinbox', 'StringVar', 'Studbutton', 'TOP', 'TRUE', 'Tcl', 'TclError', 'TclVersion', 'Text', 'Tk', 'TkVersion', 'Toplevel', 'Tributton', 'UNDERLINE', 'UNITS', 'VERTICAL', 'Variable', 'W', 'WORD', 'WRITABLE', 'Widget', 'Wm', 'X', 'XView', 'Y', 'YES', 'YView', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'colorchooser', 'commondialog', 'constants', 'dialog', 'filedialog', 'font', 'getboolean', 'getdouble', 'getint', 'image_names', 'image_types', 'mainloop', 'messagebox', 're', 'simpledialog', 'sys', 'wantobjects']
>>>

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-3-9 12:54:48 | 显示全部楼层

谢谢 是大小写的问题阿...
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-9 13:01:35 | 显示全部楼层

改了之后...为什么出现了新的错误呢。。。

  1. Traceback (most recent call last):
  2.   File "C:\Users\Administrator\Desktop\3.py", line 30, in <module>
  3.     photo = PhotoImage(file='hhh.gif')
  4.   File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\tkinter\__init__.py", line 3539, in __init__
  5.     Image.__init__(self, 'photo', name, cnf, master, **kw)
  6.   File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\tkinter\__init__.py", line 3495, in __init__
  7.     self.tk.call(('image', 'create', imgtype, name,) + options)
  8. _tkinter.TclError: couldn't recognize data in image file "hhh.gif"
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-9 14:10:16 | 显示全部楼层
SixPy 发表于 2017-3-9 13:42
用 tkinter 显示 jpg 图片
http://bbs.fishc.com/thread-73738-1-1.html
(出处: 鱼C论坛)

额我的图片的确是从jpg改后缀到gif的 所以报错了。。。
然后我保存另一张图片到桌面改成gif格式之后又能成功显示了...不知道为什么

用pillow模块的话也试了下 报了另一种错误
  1. Traceback (most recent call last):
  2.   File "C:\Users\Administrator\Desktop\3.py", line 29, in <module>
  3.     photo=ImageTk.PhtoImage(im)
  4. AttributeError: module 'PIL.ImageTk' has no attribute 'PhtoImage'
复制代码


感觉错误都改不完...
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-10 10:45:29 | 显示全部楼层
SixPy 发表于 2017-3-9 14:16
from PIL import Image, ImageTk  # pillow 模块

认真看贴~

图片出来了!谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-22 14:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表