我似乎无法让开罗地区参与其中
使用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类型,也不知道我是否应该以某种方式显示它。

最佳答案

显然,即使您对所有其他内容都使用了自省(introspection)功能,您也需要使用常规的cairo绑定(bind)。

所以只是import cairo

(我不确定为什么gi.repository.cairo存在...)

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

关于python-3.x - 在带有gi.repository的python中使用开罗地区,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6133622/

10-12 15:02