我似乎无法让开罗地区参与其中
使用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/