You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中使用Gdk4将Texture设置到剪贴板?

问题

nautilus-image-copypaste是一款Nautilus扩展,支持从图像文件设置剪贴板内容、从剪贴板生成图像文件。目前读取剪贴板功能正常,但无法实现第108行的剪贴板设置操作:

  • Python的Gdk4绑定未提供set_texture方法,这原本是最直观的实现方式
  • 绑定中可用的set方法需要传入GDK_TYPE_TEXTURE类型,但找不到该类型定义
解决方法
  1. 获取Texture对应的GType:在Gdk4 Python绑定里,GDK_TYPE_TEXTURE等价于Gdk.Texture.__gtype__,直接调用这个属性即可替代宏定义。
  2. 推荐使用set_content方法:无需手动指定类型,直接传入Gdk.Texture对象即可完成剪贴板设置,示例代码:
# 假设已加载得到texture对象
clipboard = Gdk.Display.get_default().get_clipboard()
clipboard.set_content(texture)
  1. 兼容set方法的写法:如果要沿用原set方法,代码如下:
clipboard.set(Gdk.Texture.__gtype__, texture)

另外,建议更新到最新版PyGObject绑定,避免旧版本API缺失问题:

pip install --upgrade pygobject

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 17:10:37