添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

tkinter背景图片 可缩放吗

Tkinter可以通过在窗口中使用Canvas来展示背景图片,而且可以通过在Canvas上使用create_image()函数来缩放背景图片。

具体而言,您可以使用PIL(Python Imaging Library)库中的Image类来打开和缩放图片,然后使用create_image()函数将其添加到Canvas上。以下是一个示例代码:

from tkinter import *
from PIL import Image, ImageTk
# 创建窗口
root = Tk()
root.geometry('800x600')
# 打开图片
img = Image.open('bg.jpg')
# 缩放图片
width, height = root.winfo_width(), root.winfo_height()
img = img.resize((width, height), Image.ANTIALIAS)
# 创建Canvas
canvas = Canvas(root, width=width, height=height)
canvas.pack(fill=BOTH, expand=YES)
# 添加图片
photo = ImageTk.PhotoImage(img)
canvas.create_image(0, 0, image=photo, anchor=NW)
# 运行窗口
root.mainloop()

在这个示例中,我们首先打开一张名为bg.jpg的图片。然后,我们使用root.winfo_width()root.winfo_height()函数获取窗口的宽度和高度,并将图片缩放为相同的尺寸。接着,我们创建一个Canvas并将其添加到窗口中。最后,我们使用create_image()函数将图片添加到Canvas上,并使用PhotoImage类将图片转换为Tkinter的图像格式。

需要注意的是,当窗口大小改变时,我们需要重新缩放图片并更新Canvas中的图片。可以使用Tkinter的bind()方法和<Configure>事件来监听窗口大小变化事件,并在事件发生时重新缩放图片。

  •