Как добавить изображение в Tkinter (Python 2.7)

Как добавить изображение в Tkinter (Python 2.7)? Это дало мне синтаксическую ошибку:

root = tk.Tk() img = ImageTk.PhotoImage(Image.open(path)) panel = tk.Label(root, image = img) panel.pack(side = "bottom", fill = "both", expand = "yes") root.mainloop() 

  • Добавьте intvar tkinter в целое число
  • Динамически создавать кнопки Tkinter
  • Tkinter только вызывает after_idle один раз
  • Сделать виджет Tkinter в фокусе
  • tkinter: как использовать после метода
  • Команда кнопки Tkinter активируется при запуске программы?
  • Tkinter управляет моими циклами событий рядом с моим основным окошком
  • Tkinter: вызывать событие в основном цикле
  • 5 Solutions collect form web for “Как добавить изображение в Tkinter (Python 2.7)”

    В приведенном выше коде отсутствует «Синтаксическая ошибка» – она ​​либо возникла в какой-либо другой строке (выше не все из вашего кода, так как нет импорта, ни объявления переменной path ), либо у вас есть другой тип ошибки ,

    Приведенный выше пример отлично работал для меня, тестируя интерактивный интерпретатор.

    Python 3.3.1 [MSC v.1600 32 бит (Intel)] на win32 14.May.2013

    Это сработало для меня, следуя приведенному выше коду

     from tkinter import * from PIL import ImageTk, Image import os root = Tk() img = ImageTk.PhotoImage(Image.open("True1.gif")) panel = Label(root, image = img) panel.pack(side = "bottom", fill = "both", expand = "yes") root.mainloop() 

    Следующий код работает на моей машине

    1. у вас, вероятно, что-то не хватает в вашем коде.
    2. пожалуйста, также проверьте кодировку файлов кода.
    3. убедитесь, что у вас установлен пакет PIL

       import Tkinter as tk from PIL import ImageTk, Image path = 'C:/xxxx/xxxx.jpg' root = tk.Tk() img = ImageTk.PhotoImage(Image.open(path)) panel = tk.Label(root, image = img) panel.pack(side = "bottom", fill = "both", expand = "yes") root.mainloop() 

    Это не стандартная библиотека python 2.7. Поэтому, чтобы они работали правильно, и если вы используете Python 2.7, вы должны сначала загрузить библиотеку PIL: Прямая ссылка для скачивания: http://effbot.org/downloads/PIL-1.1.7.win32-py2.7. exe После установки выполните следующие действия:

    1. Убедитесь, что ваш файл script.py находится в той же папке с изображением, которое вы хотите показать.
    2. Отредактируйте файл script.py

       from Tkinter import * from PIL import ImageTk, Image app_root = Tk() #Setting it up img = ImageTk.PhotoImage(Image.open("app.png")) #Displaying it imglabel = Label(app_root, image=img).grid(row=1, column=1) app_root.mainloop() 

    Надеюсь, это поможет!

    Вот пример для Python 3, который вы можете редактировать для Python 2;)

     from tkinter import * from PIL import ImageTk, Image from tkinter import filedialog import os root = Tk() root.geometry("550x300+300+150") root.resizable(width=True, height=True) def openfn(): filename = filedialog.askopenfilename(title='open') return filename def open_img(): x = openfn() img = Image.open(x) img = img.resize((250, 250), Image.ANTIALIAS) img = ImageTk.PhotoImage(img) panel = Label(root, image=img) panel.image = img panel.pack() btn = Button(root, text='open image', command=open_img).pack() root.mainloop() 

    введите описание изображения здесь

    Python - лучший язык программирования в мире.