問題タブ [gio]
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.
python - 関数を呼び出す Gio SimpleAction
Gtk3 アプリで Gio アクションを使用してメニューを作成しました。メニュー項目は次のように作成されます。
はfile_open_clicked
にmenu.py
ありclass MenuManager
、次のように定義されています。
エラーが発生しています:
SimpleAction
もう1つのオプションが必要であり、呼び出される必要があることはわかっていますTreeView
。しかし、方法がわかりません。親切に助けて
gtk - meld - gi._glib.GError: アイコン 'meld-change-apply-right' がテーマにありません。インストールの何が問題になっていますか?
ソースから各パッケージをコンパイルすることにより、meld 3.14.2 とすべての依存関係パッケージをインストールすることができました。すべては、meld--prefix=<base>/meld
ツール用の &&--prefix=<base>/meld/deps
依存関係用の NFS 共有にインストールされます。
最後に、ツールを起動すると、GUI が表示されます。しかし、いくつかの機能テストを行おうとすると、エラーが発生します。私はツールを使用したことがありません。そのため、正確にどのように機能するかはわかりません。しかし、ユーザーは次のエラーを指摘しており、他にも多くのエラーがある可能性があります。しかし、以下はその1つです。
何が間違っているのか教えてください。
インストール中およびツールの使用中に使用した次の変数。
パス、LD_LIBRARY_PATH、PKG_CONFIG_PATH、PYTHONPATH、GSETTINGS_SCHEMA_DIR
これらすべてのパスを使用する理由は、完全にカスタマイズされたインストールであるためです。サーバー上で実行されている既存の GTK などのバージョンがあり、それらを妨害したくないため、meld 用に別のセットアップが必要なためです。 NFS で共有される同じインストールは、複数のサーバーから使用できます。
しかし、通常インストールする他のツールとは異なり、meld には非常に深刻な依存関係があり、GTK のような複雑なパッケージをコンパイルする必要があります。
とにかく、現在のインストールのどこが悪いのか教えてもらえますか? さらに変数と参照を設定する必要がありますか、それとも追加のオプションを指定してモジュールを再度インストールする必要がありますか? ここで、各パッケージの推奨される依存関係のみをインストールし、オプションのパッケージの依存関係を残しました。
エラーが発生すると、インストールでpngファイル<base>/meld/share/icons/hicolor/16x16/actions/meld-change-apply-right.png
を見つけることができますが、ツールがそれを見つけられないのはなぜですか? ここでのテーマとはどういう意味ですか?
ウィンドウを見た後、私は実際に自分自身を非常に誇りに思っていましたが、今では機能のない単なる空のウィンドウのようです:(
bluetooth - dbus/gio を使用して bluez にプロファイルを登録するにはどうすればよいですか?
D-Bus/Gio 経由で bluez にプロファイルを登録しようとしています。RegisterProfile を呼び出すと、すべて問題なく動作します。GError を確認すると NULL であり、戻り値は空の GVariant です。私は多くのことを試しましたが、これが私の最新のコードです。実行すると、「g_dbus_connection_call_sync に成功しました」と出力されますが、d-feet を使用して D-Bus に新しいプロファイルが表示されず、テスト デバイスを使用して接続できません。テストデバイスのコードが機能することは知っていますが、少なくともストレート bluez で機能したことはわかっていますが、D-Bus で bluez を使用する方法を理解しようとしています。
ここに私のコード.hファイルがあります:
ここに私の.cppファイルがあります:
エラー情報が得られないので、少し迷っています。みんな、ありがとう。
編集:掘り下げた後、dbus bluetooth.confファイルを見つけました。これが私のものです:
ProfileManager1 と Device1 を追加しましたが、まだ運がありません。ここで何が欠けているか知っている人はいますか?ストレート bluez を使用してプロファイルを登録して使用できるので、bluez/dbus の問題であることはわかっています。
python-3.x - GIO.Menu にキーボード ショートカットを追加する
Gio.Menu 項目に accelgroup (キーボード ショートカット) を追加しようとしています。しかし、私はこれを行う方法を見つけていません。のように、この例では、ファイルを開きたい<Ctrl>+o
これどうやってするの?
c - Gnome GIO を使用して、ファイルを非ブロッキングでチャンク単位で読み取る方法は?
GInputStream をノンブロッキングでチャンクごとに処理する正しい (GIO/Glib/GTK/Gnome) 方法は何ですか?
(libsoup を介して) ダウンロードし、データ ストリームをチャンクで処理し、他のアクションを並行して実行するアプリケーションがあります。私はg_input_stream_read_async
GInputStream を呼び出しています(から受信しsoup_session_send_finish
、適切なサイズのチャンクを読み取ります(私の場合は2048バイト))。
コールバックを受信した後g_input_stream_read_async
、バイトの読み取りを続行したいと考えています。したがって、最初のアイデアはg_input_stream_read_async
、コールバック ハンドラから再帰的に呼び出して、それ自体を次のコールバックとして渡すことです。しかし、それは不器用で、私にはまったく正しくないようです (そして、現在まだ実行中のコールバックを GIO に渡すのが安全かどうかはわかりません)。
別の方法として、スレッドをスピンオフし、ループ呼び出しで通常のブロッキング読み取りを行うこともできますg_input_stream_read
。
しかし、GTK / Gnomeの世界では通常どのように行われているのでしょうか? 正しい方法は何ですか?簡単な作業例 (できれば GTK/Gnome に関連する開発者によるもの) を歓迎します。
gio - nautilus と GIO の .hidden ファイル機能に関するドキュメントはありますか?
nautilus が名前付きのファイルを読み取り.hidden
、それらにリストされているパターンに一致するファイルを非表示にする方法についてのいくつかの言及を発見したところ、ある時点でその機能は GIO に移動されましたg_file_info_get_is_hidden
。しかし、私はそれを機能させることができませんでした。ファイルの正確な名前を に入れると、.hidden
非表示になりますが、パターンを使用できるようにしたいと思っています。この機能がどのように機能するかについての確かなドキュメントや最近のドキュメントは見つかりません。
特に、一致するファイルを非表示にしたいと思いますhg-checkexec-*
。Emacs で実行されている Mercurial は定期的にこれらの一時ファイルの束を作成し、私の nautilus ビューを台無しにします。
この機能はどこかに文書化されていますか? どのように機能するはずですか?
process - spawn async プロセスが pkexec で動作しない
私の現在の gksudo コマンドは、Process.spawn_async_with_pipes で動作します。ただし、gksudo を pkexec に切り替えると、pkexec ウィンドウが表示されず、プロンプトなしでコマンドが直接完了し、何も返されません。
同じ pkexec コマンドで Process.spawn_command_line_sync を使用すると、パスワードを要求するプロンプトが表示され、コマンドが正常に実行され、結果が返されます。
私が pkexec を使用する主な理由は、polkit を使用し、root 権限を必要とするコマンドのその後の使用についてユーザーにプロンプトを表示しないことです。
Process.spawn_async_with_pipes コードの私の方法を以下に示します。
pkexec をバックグラウンド プロセスとして動作させる方法について助けが必要です。つまり、プロンプトは GUI をブロックする必要がありますが、ユーザーがパスワードを入力すると、制御を GUI に戻し、バックグラウンドで実行を継続する必要があります。これはまさに gksudo で起こることです。
前もって感謝します
これは非同期メソッドです
これは、それがどのように呼び出されているかです:
c++ - 次のコードがコンパイルされないのはなぜですか?
次のソースを適切に書き換えるにはどうすればよいですか? これは、GLib を利用した IRC ボットの一部です。次のエラーでコンパイラがクラッシュします。
ソース: