在 Python 中,你可以使用 Tkinter 和 PIL(Pillow 库)来创建 GUI 应用程序并截取屏幕截图。以下是一个简单的示例,展示了如何使用 Tkinter 创建一个窗口,并通过按下一个按钮来截取屏幕截图并保存到文件中。
首先,确保你已经安装了所需的库。如果还没有安装,可以使用以下命令进行安装:
pip install pillow
下面是完整的代码示例:
import tkinter as tk
from tkinter import messagebox
from PIL import ImageGrab
def take_screenshot():
# 获取屏幕尺寸
x0 = root.winfo_rootx()
y0 = root.winfo_rooty()
x1 = x0 + root.winfo_width()
y1 = y0 + root.winfo_height()
# 截取屏幕
screenshot = ImageGrab.grab(bbox=(x0, y0, x1, y1))
# 保存截图
screenshot.save("screenshot.png")
# 提示保存成功
messagebox.showinfo("Info", "Screenshot saved as 'screenshot.png'")
# 创建主窗口
root = tk.Tk()
root.title("Tkinter Screenshot Example")
# 创建按钮并绑定截屏函数
screenshot_button = tk.Button(root, text="Take Screenshot", command=take_screenshot)
screenshot_button.pack(pady=20)
# 运行主循环
root.mainloop()
代码说明
- 导入所需的库:
tkinter
和PIL
。 - 定义一个函数
take_screenshot
,用于截取屏幕并保存截图。 - 获取当前窗口的尺寸和位置。
- 使用
ImageGrab.grab
方法截取屏幕,并保存为 PNG 文件。 - 创建一个 Tkinter 主窗口和一个按钮,当按钮被点击时调用
take_screenshot
函数。 - 运行 Tkinter 主循环。
运行这段代码后,你会看到一个带有“Take Screenshot”按钮的窗口。点击该按钮后,屏幕截图会被保存为 screenshot.png
文件,并弹出提示框通知你截图已保存。