簡體   English   中英

如何將圖像加載到 python 3.4 tkinter 窗口中?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM