問題タブ [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.
binding - GObjectIntrospection と vapigen を使用して、どのゲッターとセッターを使用するかを vala に伝える方法は?
私は C ライブラリを作成し、vapigen を使用して vapis を作成しました。生成されたファイルには、次のように定義されたいくつかのプロパティがあります。
そして、アクセサ メソッド (私は C から使用し、プロパティの値のみを返します) は、この「get」および「set」機能を複製します。
私がやりたいことは、Vala コードが表記法を使用してプロパティを取得または設定するときに、Vala に私のメソッドを呼び出すように指示することです。
g_object_get
現在のように/g_object_set
呼び出しに変換する代わりに。
これを行う方法はありますか?
これを vala-devel と vala の両方のメーリング リストに投稿しましたが、誰も回答しませんでした。
編集: gobject-introspection と vapigen を autotools で使用して、API の変更を気にせずに vapi ファイルを自動的に生成しているため、Vala でクラスを再定義してこれを行うことはできませんが、gobject-introspection 注釈とメタデータファイル。
解決策で編集:選択した回答のコメントには私の問題の解決策が含まれていますが、基本的に私がしたことは、カスタム Vala ファイルを使用し、メタデータ ファイルを使用して使用済みプロパティをスキップすることです。
メタデータ ファイルの関連コンテンツ:
そして、カスタム Vala ファイルで:
python - ctype.c_void_pointer からのオブジェクトの作成
私はPythonで次のことをやっています
ctypes を使用して内省不可能なメソッドにアクセスしようとしていますが、これまでのところ、gtk/gobject へのポインターの作成に成功しています。ただし、キャストしようとしているjsインスタンスは、ポインターではなく、オブジェクト自体または同様のものにする必要があります。==> WebKitWebFrame *frame, JSContextRef js (ポインターではない) 今のところ、セグメンテーション違反だけです
python - PythonからGLibを使用する場合、g_log_set_handlerに相当するPythonは何ですか
Python glib プロジェクトでログ レベルを設定したいと考えています。g_log_set_handler()
したがって、PythonからGLibを使用するときに同等のものを探していgi.repository
ます。
しかし、期待されるGLib.log_set_handler
機能が欠けているようです。私のpythonシェルのサンプル出力は次のとおりです。
ご覧のとおり、イントロスペクション リポジトリの GLib が見つかり、log_set_fatal_mask 関数が存在します (これは に相当しますg_log_set_fatal_mask
)。しかしlog_set_handler
、見つかりません。
それはなぜですか、またどのようにしてPython内からログレベルを正しく設定できますか?
python - Python および GObject イントロスペクションで gpointer を使用する
GObject イントロスペクションを使用して、Python と Gtk 3 について学習しています。私はいくつかのサンプルを作成しましたが、それがどのように機能するかを理解し始めています。しかし、理解できないことが 1 つあります。どうすれば gpointer パラメータを渡すことができますか?
(gpointer を使用して) バッファーを受け取る関数を使用しようとしていますが、常に次のメッセージで終了します。
プロパティ「ピクセル」の値を LP_c_ubyte から gpointer に変換できませんでした
(LP_c_ubyte は私の最後の試みでしたが、多くの型を証明しました)
python - python pygir-ctypes と gi.repository の違い
2 つの python gtk3 パッケージの違いと要件がわかりません。
1 つは pypm によってインストールされた activestate pygir-ctypesパッケージで、もう 1 つは標準の Linux (私は Ubuntu を使用) python gobject-introspectionです。
https://python-gtk-3-tutorial.readthedocs.org/en/latest/install.htmlの gobject-introspection に関するドキュメントは、Linux ベースの OS を実行している場合はかなり良いですが、Windows では代替手段は activestate の pygir のようです。 -ctypes の実装ですが、ドキュメントは限られています。
GTK3 python gobject-introspection を使用する小さな GUI があります。
pygir-ctypes は次で始まります
私の推測では、現時点では同じですが、インストールに関してパッケージの要件が異なります。Windows では、Python GTK3 (gobject-introspection 経由) のサポートは限定的であり、現時点では実際に使用できるものは何もありませんが、この pygir-ctypes は有望に見えます。GUI を Windows で実行したいと考えています。
誰かが違いを説明できますか?
python - Gtk3 の pixbuf.subpixbuf 代替
GTK+ 2 アプリケーションを GTK+ 3
に移植しています。画像の一部を切り取る機能があります -
pb
関数に渡される pixbuf です。scaled_pb が返されます。
だから私の質問は、GTK3 で pb.subpixbuf に代わるものは何ですか? 私のアプリは現在実行されておらず、Pixbuf オブジェクトに subpixbuf プロパティがないことを示しています。
前もって感謝します。