如何使用 Python 截取窗口的屏幕截图?(Tkinter)

tkinterpythongui-programming更新于 2025/7/12 15:08:17

Python 拥有丰富的模块和函数库,可让我们构建和开发特色应用程序。Tkinter 是一个著名的 Python 库,用于创建基于 GUI 的应用程序。如果我们想开发一个截取窗口屏幕截图的应用程序,那么我们绝对可以使用 Tkinter 来构建应用程序的 GUI。应用程序的以下阶段将有助于了解我们的应用程序如何工作,

  • 所需库 – Pillow (PIL) 用于图像处理,Python 中的时间模块用于随机化文件名和时期处理。

  • 在窗口中创建一个标签小部件并添加一个按钮来截取屏幕截图。

  • 定义一个函数 screenshot(),它将截取窗口的屏幕截图并将文件保存在本地目录中。

  • 为了使 Tkinter 窗口不被截取屏幕截图以及图像,我们可以使用 withdraw() 函数来撤回图像。

示例

# 导入所需的库
from tkinter import *
import time
from PIL import ImageTk, Image
import pyautogui as pg

# 创建 tkinter 框架或窗口的实例
win = Tk()

# 设置大小window
win.geometry("700x350")

# 定义一个截屏函数
def screenshot():
   random = int(time.time())
   filename = "C:/Users/Sairam/Documents/" \ + str(random) + ".jpg"
   ss = pg.screenshot(filename)
   ss.show()
   win.deiconify()

def hide_window():
   # 截屏时隐藏 tkinter 窗口
   win.withdraw()
   win.after(1000, screenshot)

# 添加标签小部件
   Label(win, text="Click the Button to Take the Screenshot", font=('Times New Roman', 18, 'bold')).pack(pady=10)

# 创建一个按钮来截取屏幕截图
button = Button(win, text="Take Screenshot", font=('Aerial 11 bold'), background="#aa7bb1", foreground="white", command=hide_window)
button.pack(pady=20)

win.mainloop()

输出

运行上述代码将显示一个包含按钮和标签文本的窗口。

当我们点击按钮时,它会截取窗口的屏幕截图并将其保存在本地目录中。


相关文章


有用资源