Проблема Python с отображением изображения на метке во вторичном окнеPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Проблема Python с отображением изображения на метке во вторичном окне

Сообщение Anonymous »

Эта проблема — одна из многих, описанных здесь, где возникает ошибка, поскольку изображение, созданное PhotoImage, не существует. Рассмотрим этот код:

Код: Выделить всё

from tkinter import *
from PIL import ImageTk

def show():
path = r'P:\Greece Slideshow\01001-MJR_20240511_5110080-Edit.jpg'
pimg = ImageTk.PhotoImage(file=path)
image_label.configure(image=pimg)
root.pimg = pimg # prevent garbage collection

root = Tk()
window2 = Tk()

# image_label = Label(root) # works if label is in main window
image_label = Label(window2) # fails if label is in secondary window
# message is "_tkinter.TclError: image "pyimage1" doesn't exist"
image_label.pack()

root.after(500, show)

root.mainloop()
На что следует обратить внимание:
  • Код работает, если метка находится в главном окне, но не в том случае, если она во вторичном окне.
  • Как показано, я назначил PhotoImage для root.pimg, чтобы он не собирался мусором. Я пробовал множество вариантов этого (например, глобальную переменную, свойство других постоянных объектов), но ничего не помогает.
  • Я пробовал Canvas вместо метки, но получаю точно такое же сообщение об ошибке.
Есть идеи? Кто-нибудь успешно поместил изображение во дополнительное окно в Python? Мне не нужно использовать PIL; что угодно сделает меня счастливым. Ненавижу опускаться до уровня Win32 API (убивает переносимость), но я собираюсь это сделать.

Подробнее здесь: https://stackoverflow.com/questions/786 ... ary-window
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»