从Python gobj获取C-GObject指针

2024-04-26 03:13:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是pywebkitgtk,这是一个codegen'd绑定,因此有大量的GObject子类。绑定还没有完成,我还使用ctypes来完成一系列工作。在

但是现在我需要使用Python中的一个对象作为ctypes库调用的参数。显然,这行不通,传递Python对象的内存地址也不是真正的赢家。如何获得对支持Python对象的GObject的内存引用?在

这是一个不起作用的例子,但可能会让你知道我在说什么。在

>>> import ctypes
>>> libwebkit = ctypes.CDLL('libwebkit-1.0.so')
>>> import webkit
>>> webview = webkit.WebView()
>>> libwebkit.webkit_web_view_get_zoom_level(webview) #yes, I know the binding exposes this
ArgumentError: argument 1: <type 'exceptions.TypeError'>: Don't know how to convert parameter 1

再举一个例子来说明这个例子。在


Tags: 对象import参数ctypes子类例子gobjectknow