GtkStatusbar
PyGObject プロジェクトで、の gobject-introspection バインディングを使用してからウィジェットを削除しようとしていますgtk_container_remove ()
。
通常、GObject イントロスペクション Python バインディングを使用する場合、メソッド名は C 関数名から「型プレフィックス」を除いたものと同じで、明示的な引数が 1 つ少なくなります。たとえば、gtk_box_pack_end ()
後で削除するウィジェットを追加するために呼び出します。
statusbar.pack_end(widget, False, True, 0)
経由でウィジェットを削除しようとすると、次のstatusbar.remove(widget)
ように表示されます。
... 関数内のファイル「/usr/lib/python2.7/dist-packages/gi/types.py」の 43 行目 return info.invoke(*args, **kwargs) TypeError: remove() は正確に 3 つの引数を取ります (2 つ指定)
引数の 1 つは暗黙的self
であり、他の 2 つの引数は明らかに数値であると想定されています。
メソッドの 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 で関数を呼び出すにはどうすればよいですか?