You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Tkinter中用Pillow插入图片?Windows下显示方法求解

Windows下Pillow显示图片的命令及代码修正
  • Windows系统中,Pillow的Image.show()方法默认会调用系统自带的照片查看器,无需手动指定command参数,直接调用即可。如果非要手动指定命令,可用"explorer.exe",但通常没必要。

  • 你的代码存在几处错误,修正如下:

    1. ImageTk.PhotoImage对象没有show()方法,show()是Pillow原生Image对象的方法,得对打开的原始图片对象调用。
    2. 你误将FstAlien.pack()写为放置图片的代码,实际应该是FstAlLabel.pack()(或用grid布局)。
    3. Entry控件的row=100, column=100会让控件跑到窗口外,建议改成合理数值。

修正后的完整代码:

import tkinter as tk
from PIL import Image, ImageTk

CHONE_2Sc = tk.Tk()
CHONE_2Sc.configure(background="lime")
CHONE_2Sc.title("ROCK,PAPERS,SCISSORS")

# 打开原始图片,保留对象避免被回收
alien_img = Image.open("alien.jpg")
# Windows下直接调用show()即可,自动用系统照片查看器打开
alien_img.show()

# 创建Tkinter兼容的图片对象,放到Label里显示在窗口
FstAlien = ImageTk.PhotoImage(alien_img)
FstAlLabel = tk.Label(CHONE_2Sc, image=FstAlien, bg="lime")
FstAlLabel.pack(pady=10)

# 调整输入框布局位置
Object = tk.Entry(CHONE_2Sc)
Object.grid(row=1, column=0, padx=10, pady=5)
Object.insert(0, "Enter your object: ")

# 启动窗口主循环
CHONE_2Sc.mainloop()

补充说明:

  • 若需手动指定Windows下的命令,可写成alien_img.show(command="explorer.exe"),但Pillow会自动识别系统并调用合适程序,一般不用额外设置。
  • 必须保留原始Image对象(比如示例中的alien_img),否则Tkinter的PhotoImage可能因引用被回收导致图片不显示。

内容的提问来源于stack exchange,提问作者Abdullah Karan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 23:07:30