在 python 中通过 gi.repository 使用开罗区域

2024-02-24

我似乎无法让开罗地区在其中工作 使用 gintrospection。

例如

from gi.repository import cairo

 reg = cairo.Region()

会给我

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
MemoryError

尝试从 Gdk.get_clip_region() 获取一个区域会给我

    return info.invoke(*args)
TypeError: Couldn't find conversion for foreign struct 'cairo.Region'

我错过了什么明显的事情?我找不到初始化库的方法,并且无法想象您需要对看起来像简单结构的区域进行初始化。我不知道为什么 gdk 找不到 cairo 类型,也不知道我是否应该以某种方式向它展示。


显然,即使您对其他所有事情都使用内省,您也需要使用常规的 cairo 绑定。

So just import cairo.

(我不知道为什么gi.repository.cairo存在...)

当您拥有所有必要的库时,“无法找到转换”错误就会消失(例如,在 Ubuntu 上,您需要python-gi-cairo包除了python-cairo(或等效的 python3 包))。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 python 中通过 gi.repository 使用开罗区域 的相关文章

随机推荐