You need to enable JavaScript to run this app. 如何使用PyGObject将Linux剪贴板中的截图保存为本地PNG文件
优惠活动
大模型
产品
解决方案
定价
更多

如何使用PyGObject将Linux剪贴板中的截图保存为本地PNG文件

完整实现代码
import gi
gi.require_version("Gtk", "3.0")
gi.require_version("GdkPixbuf", "2.0")
from gi.repository import Gtk, Gdk, GdkPixbuf

# 你已有的剪贴板实例初始化逻辑
clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD)

# 同步读取剪贴板内的图像数据
image_pixbuf = clipboard.wait_for_image()

if image_pixbuf is not None:
    # 保存图像到指定路径,第二个参数指定存储格式为png
    save_status = image_pixbuf.savev("/home/user/filename.png", "png", [], [])
    if save_status:
        print("截图保存成功")
    else:
        print("保存失败,请检查路径写入权限、父目录是否存在")
else:
    print("剪贴板中未检测到有效图像数据")
补充逻辑说明
  • 新增GdkPixbuf依赖导入,该库用于处理图像数据的序列化存储操作
  • 调用clipboard.wait_for_image()方法同步读取剪贴板内容,若剪贴板内存在图像会返回GdkPixbuf.Pixbuf格式对象,无符合要求的图像则返回None
  • 做空值判断避免空指针报错,确认获取到图像后调用savev()方法写入指定路径,方法返回布尔值标识保存是否成功
  • 可根据实际需求扩展异常捕获逻辑,处理特殊场景下的IO错误

内容的提问来源于stack exchange,提问作者Santhosh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 01:15:02