Мое приложение недавно работало нормально, но когда я обновил Python до версии 3.7.2, что решило другую проблему, с которой я столкнулся, изображения больше не отображаются или имеют низкое качество.
После некоторого тестирования я пришел к выводу, что могу отображать любой PNG без прозрачности, но PNG с прозрачностью демонстрируют эту проблему. Я могу воссоздать его с помощью этого кода:
import tkinter as tk
from PIL import Image, ImageTk
root = tk.Tk()
path = 'png-transparent.png'
img = Image.open(path)
imgtk = ImageTk.PhotoImage(img)
panel = tk.Label(root, image=imgtk).pack()
root.mainloop()
Если я использую метку для отображения изображения, оно вообще не отображается. Если я использую кнопку для отображения изображения, а это то, что мне действительно нужно, это плохое качество (что означает неправильное отображение, отсутствие четкости, грубые края).
Они очень маленькие (16x16), но вы можете увидеть здесь две разные иконки: те, что в коробках, - искаженные, а те, которых нет в коробках, - то, как они должны выглядеть.
Текущие версии: Python 3.7.2, Подушка 5.4.1, OS X 10.13.6