如何在 Python Tkinter 窗口中显示图像/屏幕截图而不保存?
tkinterpythongui-programming更新于 2025/9/14 22:04:17
Tkinter 是一个标准 Python 库,用于创建和开发基于 GUI 的应用程序。要显示图像,我们使用 PIL 或 Pillow 库。
假设我们想要创建一个应用程序,它将截取窗口的屏幕截图并在另一个窗口中显示捕获的图像。为了实现这一点,我们可以按照下面给出的步骤 −
导入所需的库。
创建一个通用按钮来截取屏幕截图。
定义一个函数来截取屏幕截图。
在给定的函数中,定义我们想要截取屏幕截图的 coords 和 region。
创建一个 Toplevel 窗口并在其中定义一个标签图像。
打包小部件并显示输出图像。
示例
# 导入所需的库
from tkinter import *
import pyautogui
from PIL import ImageTk, Image
# 创建 tknter 框架或窗口的实例
win = Tk()
# 设置窗口大小
win.geometry("700x350")
# 定义一个函数来截取屏幕截图
def take_screenshot():
x = 500
y = 500
# 在给定的 corrds 中截取屏幕截图
im1 = pyautogui.screenshot(region=(x, y, 700, 300))
# 创建顶层窗口
top = Toplevel(win)
im1 = ImageTk.PhotoImage(im1)
# 在标签小部件中添加图像
image1 = Label(top, image=im1)
image1.image = im1
image1.place(x=0, y=0)
Button(win, text='Take ScreenShot', command=take_screenshot).pack(padx=10, pady=10)
win.mainloop()
输出
当我们运行代码时,它会显示一个带有按钮的窗口来截取屏幕截图。

现在,单击按钮"Take ScreenShot"它将捕获宽度为 700px、高度为 300 px 的屏幕,从坐标 (x=500, y=500) 开始。

相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

