Python中tkinter无法同时显示多个image的解决方法及pack与place解析

作者:ShineLee 时间:2021-05-10 10:23:47 

0、问题

在用Tkinter进行编程时,需要在一个Frame下显示多个图片,但是不管怎么设置都是只显示最后一张,就像这样:

代码

for i in range(3):
   ...
   image=ImageTk.PhotoImage(f'img{i}.png')#分别打开img1,img2,img3并显示
   Label(window, image=image, bg='green').place(x=60 + rw * i, y=500)

结果

Python中tkinter无法同时显示多个image的解决方法及pack与place解析

本来红线处还有两幅图,总共三幅,但是现在只显示了最后一幅。

1、原因

在上述代码最后一行,我们这样写:

Label(window, image=image, bg='green').place(x=60 + rw * i, y=500)

在执行过程中,每个image变量会覆盖上一个image变量,导致运行过程中总是只有1个image参与了绘制,从而只显示一个image

2、解决

给不同的image分别命不同的名,或者干脆用一个List:

image=[]
for i in range(3):
   ...
   image.append(ImageTk.PhotoImage(f'img{i}.png')
   Label(window,image=image[i],bg='green').place(x=60+rw*i,y=500)

Python中tkinter无法同时显示多个image的解决方法及pack与place解析

补充

pack与place是没有返回值的,所以在需要对要素进行后续操作时,不要直接将该要素的生成和放置写在同一句话中,就像这样:

Label(window, text='直方图:', font=('宋体', 16)).place(x=0, y=60)

最好分开写:

L1=Label(window, text='直方图:', font=('宋体', 16))
L1.place(x=0, y=60)

如果像一开始那样写L1=XXX.place(),那么最终得到的L1将是NoneType

来源:https://www.cnblogs.com/ShineLeBlog/p/15776945.html

标签:Python,tkinter,无法同时显示多个image,pack,place
0
投稿

猜你喜欢

  • 浅析php中array_map和array_walk的使用对比

    2023-09-10 22:22:28
  • 详解JavaScript中的Object.is()与"==="运算符总结

    2024-04-22 12:50:25
  • CSS expression在IE8里正式退出历史舞台

    2008-10-26 16:57:00
  • python not关键字实例用法

    2023-12-05 10:25:50
  • 通过pycharm使用git的步骤(图文详解)

    2023-07-24 14:43:21
  • 名片管理系统python版

    2021-08-06 01:50:15
  • JS中判断null、undefined与NaN的方法

    2024-04-19 09:54:05
  • Vue动态路由缓存不相互影响的解决办法

    2024-05-13 09:44:16
  • 《写给大家看的设计书》阅读笔记之重复原则

    2009-07-12 15:36:00
  • sql 删除表中的重复记录

    2024-01-16 01:12:29
  • selenium+python自动化测试之环境搭建

    2022-05-15 13:51:32
  • python爬虫模拟登录之图片验证码实现详解

    2022-06-30 00:07:29
  • 使用Python计算玩彩票赢钱概率

    2023-03-31 08:31:25
  • oracle 集合

    2009-06-19 18:09:00
  • Go并发编程sync.Cond的具体使用

    2024-05-13 10:41:00
  • Python打包文件夹的方法小结(zip,tar,tar.gz等)

    2022-01-14 17:40:55
  • Python中正则表达式的用法总结

    2021-04-23 17:04:49
  • python实现rsa加密实例详解

    2021-08-24 03:32:51
  • Python查找算法之插补查找算法的实现

    2021-03-12 08:16:57
  • python3 cookbook中常遇问题解答

    2022-09-07 09:07:05
  • asp之家 网络编程 m.aspxhome.com