3

我正在使用 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

同样,这只是一个示例来说明这一点——我希望 gobjects 的内存引用与 ctypes 一起使用。

4

0 回答 0