簡體   English   中英

Tkinter標簽中的圖像?

[英]Image in Tkinter Label?

我是python GUI編程的新手,我想在tkinter標簽中添加圖像,我創建了以下代碼,但是窗口未顯示圖像。 圖像的路徑與此代碼位於同一文件夾。

import ImageTk
import Tkinter as tk
from Tkinter import *
from PIL import Image


def make_label(master, x, y, w, h, img, *args, **kwargs):
    f = Frame(master, height = h, width = w)
    f.pack_propagate(0) 
    f.place(x = x, y = y)
    label = Label(f, image = img, *args, **kwargs)
    label.pack(fill = BOTH, expand = 1)
    return label


if __name__ == '__main__':
    root = tk.Tk()
    frame = tk.Frame(root, width=400, height=600, background='white')
    frame.pack_propagate(0)
    frame.pack()
    img = ImageTk.PhotoImage(Image.open('logo.png'))
    make_label(root, 0, 0, 400, 100, img)
    root.mainloop()

出於調試目的,請嘗試避免使用PIL並直接在PhotoImage中加載一些* .gif(或其他可接受的)文件,如下所示,如果對您有用,則只需將圖像轉換為* .gif或嘗試處理與PIL。

from tkinter import *

def make_label(parent, img):
    label = Label(parent, image=img)
    label.pack()

if __name__ == '__main__':
    root = Tk()
    frame = Frame(root, width=400, height=600, background='white')
    frame.pack_propagate(0)    
    frame.pack()
    img = PhotoImage(file='logo.gif')
    make_label(frame, img)

    root.mainloop()
       img = Image.open('image_name')
       self.tkimage = ImageTk.PhotoImage(img)
       Label(self,image = self.tkimage).place(x=0, y=0, relwidth=1, relheight=1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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