本文主要介绍Python tkinter PhotoImage图像应用及示例。
系列文章
Python tkinter (2) —— Button标签
Python tkinter (8) ——Spinbox控件
Python tkinter (10) ——Combobox控件
Python tkinter (11) —— Frame控件
Python tkinter (12) —— Treeview控件
图像photoImage
图片的基本应用
可以在Label()方法内使用“image=imageobj”参数设置此图像对象。
示例如下:
import tkinter
tk = tkinter.Tk()
tk.title('简单示例')
tk.geometry('500x500+200+20')
html_gif = tkinter.PhotoImage(file='./test.gif')
label = tkinter.Label(tk, image=html_gif)
label.pack()
tk.mainloop()
效果如下:
如果导入的图片为jpg,则会抛出异常。
导入pillow模块
如果想要在标签内显示jpg文件,需要借助PIL模块的lmage和lmageTk模块。
请先导入pillow模块,如下所示:
pip install pillow
注意在程序设计中需导入的是PIL模块,
主要原因是要向旧版Python lmage Library兼容,如下所示。
from PIL import Image,ImageTk
示例如下:
import tkinter
from PIL import Image, ImageTk
tk = tkinter.Tk()
tk.title('简单示例')
tk.geometry('500x500+200+20')
image = Image.open('pan.jpg')
html_image = ImageTk.PhotoImage(image)
label = tkinter.Label(tk, image=html_image)
label.pack()
tk.mainloop()
执行结果:
图像与文字标签
窗口内同时有文字标签和图像的应用。
示例如下:
import tkinter
tk = tkinter.Tk()
tk.title('简单示例')
tk.geometry('500x500+200+20')
content = """
《面朝大海 春暖花开》
从明天起,做一个幸福的人
喂马,劈柴,周游世界
从明天起,关心粮食和蔬菜
我有一所房子,面朝大海,春暖花开
从明天起,和每一个亲人通信
告诉他们我的幸福
那幸福的闪电告诉我的
我将告诉每一个人
给每一条河每一座山取一个温暖的名字
陌生人,我也为你祝福
愿你有一个灿烂的前程
愿你有情人终成眷属
愿你在尘世获得幸福
我只愿面朝大海,春暖花开
"""
html_gif = tkinter.PhotoImage(file='./test.gif')
label = tkinter.Label(tk,
text=content,
image=html_gif,
bg='lightyellow',
compound='center',
font=('黑体', '15')
)
label.pack()
tk.mainloop()
执行结果:
总结
本文主要介绍Python tkinter PhotoImage图像应用及示例。