鱼C论坛

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

[已解决]我的tkinter canvas上始终无法显示图片且不报错

[复制链接]
发表于 2021-5-15 05:04:29 | 显示全部楼层 |阅读模式

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

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

x
麻烦大佬们解答了!!
谢谢!!!!
最佳答案
2021-5-15 06:01:59
本帖最后由 林小林 于 2021-5-15 06:10 编辑
  1. import tkinter as tk

  2. if __name__ == '__main__':
  3.     window = tk.Tk()
  4.     window.title('my window')
  5.     window.geometry('1000x1000')


  6.     canvas = tk.Canvas(window, bg ='green', height = 800, width = 800)
  7.     canvas.pack()
  8.     image_file = tk.PhotoImage(file='banana.gif')
  9.     image = canvas.create_image(250, 250, anchor='n',image=image_file)

  10.     window.mainloop()
复制代码


我这样复制了一遍你的代码,没有问题,能显示。我把我的.m文件添加附件,你试一下?

相对路径检查过也是对的

相对路径检查过也是对的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-5-15 05:38:02 | 显示全部楼层
而且尝试在canvas上画图形也不行。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-15 06:01:59 | 显示全部楼层    本楼为最佳答案   
本帖最后由 林小林 于 2021-5-15 06:10 编辑
  1. import tkinter as tk

  2. if __name__ == '__main__':
  3.     window = tk.Tk()
  4.     window.title('my window')
  5.     window.geometry('1000x1000')


  6.     canvas = tk.Canvas(window, bg ='green', height = 800, width = 800)
  7.     canvas.pack()
  8.     image_file = tk.PhotoImage(file='banana.gif')
  9.     image = canvas.create_image(250, 250, anchor='n',image=image_file)

  10.     window.mainloop()
复制代码


我这样复制了一遍你的代码,没有问题,能显示。我把我的.m文件添加附件,你试一下?

homework_help.zip

390 Bytes, 下载次数: 2

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

使用道具 举报

 楼主| 发表于 2021-5-15 19:22:10 | 显示全部楼层
林小林 发表于 2021-5-14 22:01
我这样复制了一遍你的代码,没有问题,能显示。我把我的.m文件添加附件,你试一下?

谢谢回复!我昨天又自查了一下,报错显示的是不能识别gif文件中的信息(_tkinter.TclError: couldn't recognize data in image file "pic.gif“),应该不是代码的问题。请问你知道识别文件的话tkinter是对这个gif有什么要求吗?(ps 我这个文件是jpg转gif,改了一下扩展名,不知道有没有这方面的因素,下附我的那张图,谢谢!)
pic.gif
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-16 06:08:47 | 显示全部楼层
栗悟饭便当 发表于 2021-5-15 19:22
谢谢回复!我昨天又自查了一下,报错显示的是不能识别gif文件中的信息(_tkinter.TclError: couldn't rec ...

我试了一下,你给的这个图片确实不行……我也不清楚什么原因。但是我自己下载的图片,无论是png,jpg,还是gif,都可以。我把你的图片截图自己保存了一遍,也没有问题。不行你就换个图片试试吧。我把我用过的图片给你添加到附件了,你可以试试。

test001.zip

672.35 KB, 下载次数: 2

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

使用道具 举报

 楼主| 发表于 2021-5-17 02:49:29 | 显示全部楼层
林小林 发表于 2021-5-15 22:08
我试了一下,你给的这个图片确实不行……我也不清楚什么原因。但是我自己下载的图片,无论是png,jpg,还是 ...

谢谢回复!可能跟电脑配置也有关系,我用你先前的文件homework-help.py试了试你的图片,然后只有第一个banana.gif能够正常显示,其他仍显示cannot recognise data。然后用我的代码跑的话还是一张图都不行而且也不报错。我的代码和你的唯一的区别就在于“if __name__ == '__main__':”,请问这一句是干什么用的呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-19 00:32:48 | 显示全部楼层
栗悟饭便当 发表于 2021-5-17 02:49
谢谢回复!可能跟电脑配置也有关系,我用你先前的文件homework-help.py试了试你的图片,然后只有第一个ba ...

“if __name__ == '__main__':” 这句话就是一个条件句。意思时只有运行这个文件,才会运行里面的代码。如果是从别的.m文件调运这个文件,不会运行条件里面的代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-19 20:40:11 | 显示全部楼层
林小林 发表于 2021-5-18 16:32
“if __name__ == '__main__':” 这句话就是一个条件句。意思时只有运行这个文件,才会运行里面的代码。 ...

哦哦哦!谢谢你耐心回复!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-17 05:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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