在 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()

代码说明

  1. 导入所需的库:tkinterPIL
  2. 定义一个函数 take_screenshot,用于截取屏幕并保存截图。
  3. 获取当前窗口的尺寸和位置。
  4. 使用 ImageGrab.grab 方法截取屏幕,并保存为 PNG 文件。
  5. 创建一个 Tkinter 主窗口和一个按钮,当按钮被点击时调用 take_screenshot 函数。
  6. 运行 Tkinter 主循环。

运行这段代码后,你会看到一个带有“Take Screenshot”按钮的窗口。点击该按钮后,屏幕截图会被保存为 screenshot.png 文件,并弹出提示框通知你截图已保存。