【发布时间】:2021-03-14 15:26:26
【问题描述】:
由于某种原因,Tkinter 无法打开我的图像。如果我不添加from tkinter import *,它会显示错误消息:
没有from tkinter import *的错误消息:
C:\Users\NG>python e:/PythonTkinter/app.py
Traceback (most recent call last):
File "e:/PythonTkinter/app.py", line 12, in <module>
logo = Image.open('logo.png')
File "C:\Users\NG\anaconda3\lib\site-packages\PIL\Image.py", line 2891, in open
fp = builtins.open(filename, "rb")
FileNotFoundError: [Errno 2] No such file or directory: 'logo.png'
如果我添加from tkinter import * 如下所示,它会显示如下所示的错误消息。
代码:
import tkinter as tk
import PyPDF2
from PIL import Image, ImageTk
from tkinter import *
# begaining of our UI window
root = tk.Tk()
canvas = tk.Canvas(root, width=600, height=300)
canvas.grid(columnspan=3)
# Adding logo
# logo = ImageTk.PhotoImage(Image.open("logo.png"))
logo = Image.open("logo.png")
logo = ImageTk.PhotoImage(logo)
logo_label = tk.Label(image=logo)
loogo_label.image = logo
logo_label.grid(column=1, row=0)
# ending of our UI window
root.mainloop()
from tkinter import * 的错误消息:
C:\Users\NG>python e:/PythonTkinter/app.py
Traceback (most recent call last):
File "e:/PythonTkinter/app.py", line 14, in <module>
logo = Image.open("logo.png")
AttributeError: type object 'Image' has no attribute 'open'
图像就在这个 python 文件所在的同一文件夹中。
我做错了什么? 帮助!
【问题讨论】:
-
对于第二个错误,您的导入搞砸了。删除
from tkinter import *或将其移至顶部。 -
第二种情况是因为
from tkinter import *。有一个tkinter.Image代替了 PIL 中的那个。 -
~ 如果它正确回答了您的问题,将不胜感激将下面的答案标记为正确答案。点击here了解如何:D
标签: python tkinter tkinter-canvas tkinter-entry tkinter-layout