我无法将此图像显示在tkinter gui中,因为它无法识别图像文件或目录,这是我的代码:
import tkinter as tk
from PIL import ImageTk, Image
root = tk.Tk()
path = "krebs.jpg"
img = ImageTk.PhotoImage(Image.open(path))
img.pack()
root.mainloop()
这是有问题的图片:Krebs security pic
答案 0 :(得分:1)
我敢打赌,您当前的工作目录不是您认为的那样。试试:
import os
os.getcwd()
确保目录(由os.getcwd()
打印)中包含您的图像(即,转到该文件夹并检查是否存在您的图像)。如果没有,请指定图像的绝对路径:
path = C:/Users/<user_name>/... .../krebs.jpg
或操作系统上映像的完整路径。
或者,您可以将图像移动到os.getcwd()
指示的文件夹中。
在我使用Python编写脚本时,这是我一直使用的技巧,以获取绝对路径:
import tkinter.filedialog as fd
path = fd.askopenfilename()
它将打开一个熟悉的文件打开对话框。使用文件对话框窗口查找文件,然后单击“打开”,然后将完整路径保存到变量“ path”。
答案 1 :(得分:0)
好吧,我相信有一个更简单的解决方案,并且总体上更好。 Python可以使用.
来告诉代码,您要查找的文件与python代码位于同一目录中。这样,您无需手动选择文件或使用完整的文件路径名。
2nd我注意到您正在尝试将图像pack()
放入窗口,但是您不能这样做。而是将其添加到标签或画布。只要确保您的图片文件与.py文件位于同一文件夹中即可。
尝试一下。
import tkinter as tk
from PIL import ImageTk, Image
root = tk.Tk()
path = "./krebs.jpg"
img = ImageTk.PhotoImage(Image.open(path))
lbl = tk.Label(root, image=img)
lbl.pack()
root.mainloop()
我使用了一个用于测试的简单的小红色正方形图像,但这是结果: