Nik*_*hil 6 gobject introspection cairo pycairo python-3.x
我似乎无法使用gintrospection让cairo区域在内部工作.
例如
from gi.repository import cairo
reg = cairo.Region()
Run Code Online (Sandbox Code Playgroud)
会给我的
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
MemoryError
Run Code Online (Sandbox Code Playgroud)
并试图从Gdk.get_clip_region()获得一个区域将给我
return info.invoke(*args)
TypeError: Couldn't find conversion for foreign struct 'cairo.Region'
Run Code Online (Sandbox Code Playgroud)
我错过了什么明显的事情?我无法找到一种方法来使用它,并且无法想象你需要的区域看起来像一个简单的结构.我不知道为什么gdk找不到cairo类型,并且我不知道我是否应该以某种方式显示它.
显然你需要使用常规的cairo绑定,即使你对其他一切都使用内省.
所以只是import cairo.
(我不确定为什么会gi.repository.cairo存在......)
当你拥有所有必要的库时,"无法找到转换"错误就会消失(例如,在Ubuntu上python-gi-cairo,除了python-cairo(或等效的python3包)之外你还需要包).