問題タブ [gobject-introspection]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
86 参照

python - Python には PyGObject に相当する「ポインタ」がありますか?

を使用しようとしてGtk.SelectionData.setいますが、その 1 つのパラメーターは

data (bytes) – データへのポインタ (コピーされます)

渡したいデータは ですが、Gtk.EventBoxこのデータへのポインターを作成する方法、または作成する必要があるかどうかも不明です。GObject の Python バインディングのドキュメントは、C のドキュメントから自動的に生成されます。私が見つけた限りでは、Python には C のポインターに直接相当するものはありません。

この関数が Python コードで使用されている例は見つかりません。次のようなCの例を見つけました

from here ですが、これを Python に翻訳する方法がわかりません。

0 投票する
1 に答える
32 参照

gobject-introspection - GObject ポインタを返す抽象型の仮想関数はイントロスペクトできません

私は遊んでいてlibpeas、gobject-introspection の動作に関する問題に遭遇しました。

には(こちらlibpeasを参照)というタイプがあります。PluginLoader

へのポイントであるcreate_extensionを返すと呼ばれるメソッドがあります。このタイプを gobject-introspection に追加し、このメソッドの結果の GIR ファイルを確認すると、次のようにマークされていることがわかります。PeasExtension *GObjectintrospectable="0"

戻り値を変更しvoid *て再コンパイルすると、introspectable="0"属性が GIR ファイルから削除されます。に変更するとGObject *introspectable="0"属性は引き続き存在します。

GObject のインスタンス (ポインター) を返すと、イントロスペクト不能になるようです。しかし、私はなぜ理解していないのですか?

gobject イントロスペクション ドキュメントを読むと、GObject インスタンスを返すことが有効なユース ケースのように見えます。多分それはそのPluginLoader型が抽象的で、これが仮想メソッドであることと関係がありますか?

メソッドの署名を変更せずに、このオブジェクトを内省可能にするのに役立つ注釈はありますか?