鱼C论坛

 找回密码
 立即注册
查看: 13249|回复: 17

TK显示图片,出现_tkinter.TclError: image "pyimage1" doesn't exist

[复制链接]
发表于 2016-7-24 18:11:27 | 显示全部楼层 |阅读模式
5鱼币
本帖最后由 无符号整形 于 2016-7-24 18:12 编辑

疯了啊,搞了一下午了。。。
本来想弄个输密码才能进去的东东,gif就是显示不了、、、
代码:
  1. from tkinter import *

  2. root = Tk()

  3. Label(root, text="账号:").grid(row=0, column=0)
  4. Label(root, text="密码:").grid(row=1, column=0)

  5. e1 = Entry(root)
  6. e2 = Entry(root, show="●")
  7. e1.grid(row=0, column=1, padx=10, pady=5)
  8. e2.grid(row=1, column=1, padx=10, pady=5)

  9. def show():
  10.     if e1.get() == e2.get()+'Fishc':
  11.         openimg = Tk()
  12.         photo = PhotoImage(file="open.gif")
  13.         imgLabel  = Label(openimg, text = "恭喜密码正确", image = photo)
  14.         imgLabel.pack(side = LEFT)
  15.     else:
  16.         errorimg = Tk()
  17.         photo = PhotoImage(file="error.gif")
  18.         imgLabel  = Label(errorimg, text = "恭喜密码错误", image = photo)
  19.         imgLabel.pack(side = LEFT)
  20.         


  21. Button(root, text="芝麻开门", width=10, command=show)\
  22.              .grid(row=3, column=0, sticky=W, padx=10, pady=5)
  23. Button(root, text="退出", width=10, command=root.quit)\
  24.              .grid(row=3, column=1, sticky=E, padx=10, pady=5)


  25. mainloop()
复制代码

错误信息:
1234567890.JPG
@~风介~ @小甲鱼 @wei_Y @冬雪雪冬 @hldh214 @shuofxz

最佳答案

查看完整内容

仔细看代码,认真理解~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-7-24 18:28:52 | 显示全部楼层
SixPy 发表于 2016-7-24 18:28
你把2个gif传上来


ok

error.gif open.gif
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-7-24 18:11:28 | 显示全部楼层
本帖最后由 SixPy 于 2016-7-24 20:23 编辑

  1. import tkinter  as tk
  2. from tkinter import ttk

  3. root = tk.Tk()
  4. frmLogin= tk.Frame(root)
  5. frmShow = tk.Frame(root)
  6. frmCmd = tk.Frame(root)

  7. photoopen=None
  8. photoerr=None

  9. def show():
  10.     global photoopen, photoerr
  11.    
  12.     if e1.get() == e2.get()+'Fishc':
  13.         photoopen = tk.PhotoImage(file="open.gif")
  14.         imgLabel  = ttk.Label(frmShow,
  15.                               text = "恭喜密码正确",
  16.                               image = photoopen,
  17.                               compound='top')
  18.         imgLabel.pack(side = tk.LEFT)
  19.     else:
  20.         photoerr = tk.PhotoImage(file="error.gif")
  21.         imgLabel  = ttk.Label(frmShow,
  22.                               text = "恭喜密码错误",
  23.                               image = photoerr,
  24.                               compound='top')
  25.         imgLabel.pack(side = tk.LEFT)
  26.         
  27.     frmShow.pack()
  28.     return

  29. tk.Label(frmLogin, text="账号:").grid(row=0, column=0)
  30. tk.Label(frmLogin, text="密码:").grid(row=1, column=0)

  31. e1 = tk.Entry(frmLogin)
  32. e2 = tk.Entry(frmLogin, show="●")
  33. e1.grid(row=0, column=1, padx=10, pady=5)
  34. e2.grid(row=1, column=1, padx=10, pady=5)

  35. frmLogin.pack()

  36. tk.Button(frmCmd, text="芝麻开门", width=10, command=show)\
  37.              .grid(row=3, column=0, sticky=tk.W, padx=10, pady=5)
  38. tk.Button(frmCmd, text="退出", width=10, command=root.destroy)\
  39.              .grid(row=3, column=1, sticky=tk.E, padx=10, pady=5)

  40. frmCmd.pack()

  41. root.mainloop()
复制代码

仔细看代码,认真理解~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-7-24 18:12:44 | 显示全部楼层
对了啊,又忘了。。。
@SixPy
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-7-24 18:28:11 | 显示全部楼层
无符号整形 发表于 2016-7-24 18:12
对了啊,又忘了。。。
@SixPy

你把2个gif传上来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-7-24 18:55:09 | 显示全部楼层
不懂TK~~。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-7-25 08:57:31 | 显示全部楼层
SixPy 发表于 2016-7-24 18:11
仔细看代码,认真理解~

呵呵,改进了下~
  1. from tkinter import *


  2. root = Tk("密码验证")
  3. frmLogin= Frame(root)
  4. frmShow = Frame(root)
  5. frmCmd = Frame(root)

  6. photoopen=None
  7. photoerr=None

  8. def show():
  9.     global photoopen, photoerr
  10.     if e1.get() == e2.get()+'Fishc':
  11.         photoopen = PhotoImage(file="open.gif")
  12.         imgLabel  = Label(frmShow,
  13.                               text = "恭喜密码正确",
  14.                               image = photoopen,
  15.                               compound='top')
  16.         imgLabel.pack(side = LEFT)
  17.     else:
  18.         photoerr = PhotoImage(file="error.gif")
  19.         imgLabel  = Label(frmShow,
  20.                         text = '恭喜密码错误',
  21.                         image = photoerr,
  22.                         compound='top')
  23.         imgLabel.pack(side = LEFT)
  24.     frmShow.pack()
  25.     Button(frmLogin, text="我知道了", width=10, command=root.destroy)\
  26.         .grid(row=3, column=0, sticky=W, padx=10, pady=5)
  27.    
  28. Label(frmLogin, text="账号:").grid(row=0, column=0)
  29. Label(frmLogin, text="密码:").grid(row=1, column=0)

  30. e1 = Entry(frmLogin)
  31. e2 = Entry(frmLogin, show="●")
  32. e1.grid(row=0, column=1, padx=10, pady=5)
  33. e2.grid(row=1, column=1, padx=10, pady=5)

  34. frmLogin.pack()

  35. Button(frmLogin, text="芝麻开门", width=10, command=show)\
  36.     .grid(row=3, column=0, sticky=W, padx=10, pady=5)
  37. Button(frmLogin, text="退出", width=10, command=root.destroy)\
  38.     .grid(row=3, column=1, sticky=E, padx=10, pady=5)


  39. frmCmd.pack()

  40. root.mainloop()
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-7-25 09:44:10 | 显示全部楼层

也没见你改什么啊

别养成用 * 导入模块的坏习惯。
你一个人写个小程序无所谓,如果规模大了,或与他人合作,名称混乱的时候,你就哭去吧~

评分

参与人数 1荣誉 +20 鱼币 +20 贡献 +10 收起 理由
hldh214 + 20 + 20 + 10 这个必须点赞

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-7-25 11:09:04 | 显示全部楼层
SixPy 发表于 2016-7-25 09:44
也没见你改什么啊

别养成用 * 导入模块的坏习惯。

知道咯~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-7-25 12:56:36 | 显示全部楼层
http://bbs.fishc.com/thread-74170-1-1.html
加入了 屏幕居中功能~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-7-25 14:41:21 From FishC Mobile | 显示全部楼层
SixPy 发表于 2016-7-25 12:56
http://bbs.fishc.com/thread-74170-1-1.html
加入了 屏幕居中功能~

还不错嘛~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-8-2 16:42:08 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-8-2 16:42:40 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-8-14 18:14:08 | 显示全部楼层
没有pack?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-4-9 09:54:04 | 显示全部楼层
请问在哪里做修改可以是显示出来的登陆页面有一个标题 而不是仅仅显示Tk.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-8-22 09:50:22 | 显示全部楼层
SixPy 发表于 2016-7-24 18:11
仔细看代码,认真理解~

show()函数里的return在这里有什么用??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-8-22 10:46:47 | 显示全部楼层
乐不思蜀 发表于 2017-8-22 09:50
show()函数里的return在这里有什么用??

写不写都一样,python默认 return None
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-11-18 10:14:46 | 显示全部楼层
SixPy 发表于 2017-8-22 10:46
写不写都一样,python默认 return None

thanks!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 00:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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