我无法将图像(gif图像)添加到tkinter窗口。
from tkinter import *
from tkinter import filedialog
from PIL import ImageTk, Image
root = Tk()
def open_image():
qr_select = filedialog.askopenfilename(title = "open")
im = PhotoImage(file=qr_select)
w1 = Label(window, image = im)
w1.image = im
w1.config(image=im)
w1.pack(side="right")
def window_function():
global window
window=Tk()
window.geometry("800x550+650+250")
window.title("QR_Scanner")
btn = Button(window,text = "open a gif picture",command = open_image)
btn.pack()
root.iconify()
window.mainloop()
btn = Button(root,text = "open window",command = window_function)
btn.pack()
root.mainloop()
我的错误是(_tkinter.TclError:图像“ pyimage1”不存在)
在窗口中看不到gif的原因是,您没有对图像进行引用,因此图像是在Tkinters垃圾收集器中收集的。在此处阅读有关此内容的更多信息。要添加对图像的引用,您可以执行以下操作:
w1.image = im
并将其添加到您的代码中:
def open_image():
qr_select = filedialog.askopenfilename(title = "open")
im = PhotoImage(file=qr_select)
w1 = Label(root, image = im)
w1.image = im #Keep A Reference To The Image
w1.config(image=im)
w1.pack(side="right")
你得到的原因pyimage1不存在,是因为你有一个以上的实例TK和有只意味着是1。你必须让你的窗口Toplevel()
替换:window=Tk()
用window=TopLevel()
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句