【发布时间】:2022-01-18 03:32:49
【问题描述】:
我试图在一个类的 tkinter 的窗口中显示一个图像,但我无法让它工作,没有图像行它显示一个空窗口但是当我使用图像行执行代码时,我收到错误消息:'Img_window' object has no attribute 'tk'.
如何更改代码以显示图像?
代码如下:
from tkinter import *
from PIL import Image, ImageTk
class Img_window:
def __init__(self):
self.window = Tk()
self.window.title("Image")
image_open = Image.open("welcome.jpg")
welcome_img = ImageTk.PhotoImage(image_open)
image_label = Label(self, image = welcome_img)
image_label.grid(row=1,columnspan=3)
self.window.mainloop()
img_window = Img_window()
【问题讨论】:
-
你在说什么“线条”?我认为您的问题可能与Why does Tkinter image not show up if created in a function? 重复
-
错字。你有
Label(self, ...),你需要Label(self.window, ...)。 -
您不能使用非小部件作为小部件的父级。
self不是小部件。 -
如果是子窗口,使用
Toplevel()而不是Tk()。