Вот простой пример добавления изображения на этикетку.
Помните, что вам необходимо убедиться, что ссылка на изображение сохранена, иначе вы не увидите изображение в своем приложении.
Обновление:
Я считаю, что этот обновленный ответ должен работать для вас. Код попытается извлечь изображение из буфера обмена, используя метод ImageGrab
в PIL
, если он есть, и затем сохранит изображение во временную папку. Затем мы загружаем это изображение в метку и затем удаляем изображение из временной папки.
import tkinter as tk
import os
from tkinter import messagebox
from PIL import ImageTk, ImageGrab
root = tk.Tk()
tb8 = tk.Label(root, width=82)
tb8.grid(row=0, column=0, sticky='nsew')
def imgps():
try:
temp_path = "./TempImage/some_image.gif" # Whatever temp path you want here
im = ImageGrab.grabclipboard() # Get image from clipboard
im.save(temp_path) # save image to temp folder
load_for_label = ImageTk.PhotoImage(file=temp_path) # load image from temp folder
tb8.config(image=load_for_label) # set image to label
tb8.image = load_for_label # save reference to image in memory
tb8.clipboard_clear() # clear clipboard
os.remove(temp_path) # delete temp file
except:
messagebox.showinfo(message="Clipboard is Empty.")
pbtn11 = tk.Button(root, text="IMAGE", command=imgps)
pbtn11.grid(row=1, column=0, sticky='nsew')
root.mainloop()
Я пробовал несколько способов загрузить изображение прямо из буфера обмена, но продолжал сталкиваться с ошибками. Таким образом, мои вышеупомянутые решения не могут быть на 100% самым быстрым способом реализации этого, но должны работать достаточно хорошо.