一、前言
python中使用tkinter加载“Merry Christmas“ 图片。
二、用python显示Merry Christmas图片
1. python中,tkinter中可以进行图形界面编程。tkinter库提供了各种控件,其中,可以使用PhotoImage和Label组合,进行“Merry Christmas“ 图片的显示,图片可以是jpg,jpeg,png,gif动图等。
2. tkinter是python中的自带的强大的图片编程(GUI)库,提供了常用的图形编程组件,使得python进行图形程序的设计和实现变得简洁。
3. 为了实现图片的显示,可以结合image和imagetk库来实现。
由于PhotoImage支持的图片格式有限,所以,通常,结合使用PILLOW库的ImageTk来实现图片相关功能。
三、效果图展示
效果图展示如下:
四、实现步骤
基本组件的使用:
PILLOW库的ImageTk的使用:
如果没有安装PILLOW插件,请安装插件,使用 “pip install PILLOW”命令安装即可
生成PhotoImage对象:
from PIL import Image
from PIL import ImageTk
img = Image.open(filePath)
img = ImageTk.PhotoImage(img)
python tkinter库与PILLOW库的ImageTk的综合使用:
1. 首先,预先准备需要展示的图片文件(jgp,jpeg,png,gif等);
2. 导入需要的python库:
import tkinter as tk from PIL import Image, ImageTk
3. 通过python tkinter库进行图片的创建和加载:
1)普通图片(jpg,jpeg,png)的加载:
img = Image.open('./christmas1.jpeg') photo = ImageTk.PhotoImage(img)
2)动图(gif)的加载:
img = tk.PhotoImage(file = 'christmas2.gif') label_img = tk.Label(root, image = img) label_img.grid(row=1, column=0, pady=10)
4. 用label进行显示:
label_img = tk.Label(root, image=photo) label_img.grid(row=1, column=0, pady=10)
5. mainloop的调用:
root.mainloop()
五、python代码:
下面,展示了整个python代码:
# -*- coding: utf-8 -*-
# gui_main.py 文件
import os
import sys
import tkinter as tk
from PIL import Image, ImageTk
def main():
root = tk.Tk()
root.title('Merry Christmas')
#root.geometry("800x600+600+150")
time_str = "M e r r y C h r i s t m a s ( 2 0 2 2 )"
lable1 = tk.Label(root,text=time_str)
lable1.grid(row=0, column=0, pady=10)
#普通图片的加载
img = Image.open('./christmas1.jpeg')
photo = ImageTk.PhotoImage(img)
label_img = tk.Label(root, image=photo)
label_img.grid(row=1, column=0, pady=10)
#gif图片的加载
# img = tk.PhotoImage(file = 'christmas2.gif')
# label_img = tk.Label(root, image = img)
# label_img.grid(row=1, column=0, pady=10)
root.mainloop()
if __name__ == '__main__':
main()