Nano Hash - криптовалюты, майнинг, программирование

Почему мое изображение не отображается с помощью Tkinter?

После этого ответа, Я пытаюсь отобразить изображение, но когда я запускаю его (почти точно так же, как в ответе), окно не отображает изображение.

from PIL import Image
import tkinter

window = tkinter.Tk()
window.title("Join")
window.geometry("300x300")
window.configure(background='grey')
imageFile = "/Users/glennsha/Desktop/APCS_Create/Rank_icons/champion1.jpg"
window.im1 = Image.open(imageFile)

input()
window.mainloop()

Почему не отображается?


  • Вы скопировали формат вопроса, но не использовали img = ImageTk.PhotoImage(Image.open(path)), как в ответе на этот вопрос. Попробуйте добавить эту часть в свой код, а также добавить виджет фактического изображения во фрейм. 29.03.2018
  • Итак, вы удалили код из рабочего примера, и теперь он не работает? Вы считали, что, возможно, вы удалили некоторые важные фрагменты? 29.03.2018

Ответы:


1

Просто следуйте ответу по той же ссылке, которую вы указали. Я добавил пояснения к соответствующим разделам, чтобы помочь вам понять. Подробнее о Image и ImageTk можно прочитать здесь.

from PIL import Image, ImageTk # I have added the import of ImageTk 
import tkinter

window = tkinter.Tk()
window.title("Join")
window.geometry("300x300")
window.configure(background='grey')
imageFile = "/Users/glennsha/Desktop/APCS_Create/Rank_icons/champion1.jpg"

#Creates a Tkinter-compatible photo image, which can be used everywhere Tkinter expects an image object.
im1 = ImageTk.PhotoImage(Image.open(imageFile))

#Next, you need to put your image into a widget before it can be visible.
# Your reference answer used a Label widget. We will use the same here.
# This Label widget is a child of "window" which is the Tk() window. 
panel = tkinter.Label(window, image = im1)

#Next you need to put the widget into the Tk() window before the widget can be made visible.
# Here, the Pack geometry manager is used to put/locate the widget containing
# the images into the Tk() Window.
panel.pack(side = "bottom", fill = "both", expand = "yes")

window.mainloop()
29.03.2018
  • Вы должны отредактировать путь к файлу и оставить путь к файлу OP. Нет причин показывать оба. 29.03.2018
  • @Mike-SMT Спасибо, что напомнили. Использовал для тестирования. Забыл удалить. 29.03.2018
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..