【问题标题】:How do I insert a JPEG image into a python Tkinter window?如何将 JPEG 图像插入 python Tkinter 窗口?
【发布时间】:2014-07-17 01:26:05
【问题描述】:

如何将 JPEG 图像插入 Python 2.7 Tkinter 窗口?以下代码有什么问题?图片名为Aaron.jpg

#!/usr/bin/python

import Image
import Tkinter
window = Tkinter.Tk()

window.title("Join")
window.geometry("300x300")
window.configure(background='grey')

imageFile = "Aaron.jpg"

window.im1 = Image.open(imageFile)


raw_input()
window.mainloop()

【问题讨论】:

  • 您在这方面花了多长时间?
  • 嗯...分机是干什么用的?
  • 可能没必要这么说...“请修正代码并粘贴在下面!”
  • 您遇到的错误是什么?检查this 并查看问题是否仍然存在
  • @dilbert 超过六年 (:

标签: python image tkinter window jpeg


【解决方案1】:

试试这个:

import tkinter as tk
from PIL import ImageTk, Image

#This creates the main window of an application
window = tk.Tk()
window.title("Join")
window.geometry("300x300")
window.configure(background='grey')

path = "Aaron.jpg"

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

#The Label widget is a standard Tkinter widget used to display a text or image on the screen.
panel = tk.Label(window, image = img)

#The Pack geometry manager packs widgets in rows or columns.
panel.pack(side = "bottom", fill = "both", expand = "yes")

#Start the GUI
window.mainloop()

相关文档:ImageTk ModuleTkinter Label WidgetTkinter Pack Geometry Manager

【讨论】:

  • 请注意,原始 PIL 不适用于 Python 3,但 Pillow 几乎可以替代:pillow.readthedocs.io/en/latest/index.html
  • Re @Caspar 的评论,在 Python 3(.6) 的命令行中,执行 pip install pillow 以获取模块。
  • 请注意,包含图像的附加“弹出”窗口也需要在标签实例化之外指定图像(例如label = tk.Label(window, image=img) 然后label.image = img 最后label.pack()
【解决方案2】:
import tkinter as tk
from tkinter import ttk
from PIL import Image,  ImageTk
win = tk. Tk()
image1 = Image. open("Aoran. jpg")
image2 =  ImageTk. PhotoImage(image1)
image_label = ttk. Label(win , image =.image2)
image_label.place(x = 0 , y = 0)
win.mainloop()

【讨论】:

    【解决方案3】:
    from tkinter import *
    from PIL import ImageTk, Image
    
    window = Tk()
    window.geometry("1000x300")
    
    path = "1.jpg"
    
    image = PhotoImage(Image.open(path))
    
    panel = Label(window, image = image)
    
    panel.pack()
    
    window.mainloop()
    

    【讨论】:

    • 请在此处添加一些关于 wat is hapng 的解释
    猜你喜欢
    • 1970-01-01
    • 2021-08-06
    • 1970-01-01
    • 2018-04-28
    • 2012-06-08
    • 2014-08-17
    • 2016-02-14
    相关资源
    最近更新 更多