我正在学习Python和Gtk 3,使用GObject内省。我做了一些样品,我开始明白它是如何工作的。但是有一点我无法理解,我怎样才能通过一个gpointer param?
我试图使用一个接收缓冲区的函数(使用gpointer),我总是以这条消息结束:
无法将属性“像素”的值从LP_c_ubyte转换为gpointer
(LP_c_ubyte是我的最后一次尝试,但我证明了很多类型)
答案 0 :(得分:0)
你无法在GObject内省中传递指针。如果内省函数是您自己编写的函数,那么您应该annotate参数文档,例如(array length=buflen)
,其中buflen
是参数的名称,该参数给出了缓冲。有关详细信息,请参阅链接页面。
如果该函数位于您自己没有编写的库中,请在API中查找更加内省友好的函数,或者提交库中的错误。使用裸gpointer
的API甚至不应该暴露给Python。