在 PyGObject 项目中,我正在尝试GtkStatusbar
使用gtk_container_remove ()
.
通常在使用 GObject Introspection Python 绑定时,方法名称与 C 函数名称相同,减去“类型前缀”并采用一个不太明确的参数。例如,我调用gtk_box_pack_end ()
添加稍后要删除的小部件:
statusbar.pack_end(widget, False, True, 0)
当我尝试通过 删除小部件时statusbar.remove(widget)
,我看到:
... 函数中的文件“/usr/lib/python2.7/dist-packages/gi/types.py”,第 43 行 返回 info.invoke(*args, **kwargs) TypeError:remove() 正好需要 3 个参数(给定 2 个)
其中一个论点是隐含self
的,另外两个论点显然应该是数字。
这是该方法的 GIR:
<method name="remove" c:identifier="gtk_container_remove">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="widget" transfer-ownership="none">
<type name="Widget" c:type="GtkWidget*"/>
</parameter>
</parameters>
</method>
如何调用gtk_container_remove ()
PyGObject 中的函数?