[英]How to load an image into a python 3.4 tkinter window?
我花了一些時間在網上查找,到目前為止還沒有找到任何可以在不使用 PIL 的情況下回答這個問題的方法,我無法開始工作,還有另一種方法可以簡單地做到這一點嗎?
tkinter有一個PhotoImage類,可用於顯示 GIF 圖像。 如果您想要其他格式(而不是過時的 PGM/PPM 格式),您需要使用 PIL 或 Pillow 之類的東西。
import Tkinter as tk
root = tk.Tk()
image = tk.PhotoImage(file="myfile.gif")
label = tk.Label(image=image)
label.pack()
root.mainloop()
需要注意的是,如果將此代碼移動到函數中,則可能會出現問題。 上面的代碼有效,因為它在全局范圍內運行。 使用函數時,圖像對象可能會在函數退出時被垃圾收集,這將導致標簽顯示為空白。
有一個簡單的解決方法(保存對圖像對象的持久引用),但上述代碼的重點是盡可能顯示最簡單的代碼。
有關更多信息,請參閱此網頁: 為什么我的 Tkinter 圖像不出現?
您可以使用可用於 python 3 的 PIL 庫。首先,您需要使用以下命令(使用 pip)安裝 PIL: pip install pillow
然后:
`from tkinter import *`
from PIL import Image, ImageTk
`class Window(Frame):`
`def __init__(self, master=None):
Frame.__init__(self, master)
self.master = master
self.pack(fill=BOTH, expand=1)
load = Image.open("parrot.jpg")
render = ImageTk.PhotoImage(load)
img = Label(self, image=render)
img.image = render
img.place(x=0, y=0)`
盧克,這為時已晚,但可以幫助其他人。 您的圖像必須與 .py 腳本位於同一子目錄中。 您也可以輸入“./imageFileName.png”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.