問題タブ [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.
c - GSettings の値が変更されたように見えますが、持続しません
C コードで GSettings の値が変更されたように見えますが、保持されません。dconf-editor は、同じままであることを示しています (デフォルトの「picture-uri」設定)。
何か不足していますか?
これは私がそれをコンパイルする方法です:
ありがとう。
python - GTK コンテナー ウィジェットのサイズを変更するにはどうすればよいですか?
GtkBox などのコンテナー内で Gtk がウィジェットのサイズを制御する方法について、私は完全に混乱しています。誰かがこの質問の複雑さを教えてくれますか?
2 つのウィジェットを含む GtkBox があります。この例では、これらは 2 つの GtkButton です。
最初のウィジェットは、GtkBox コンテナー内の使用可能なスペースを埋める必要があります。
2 番目のウィジェットは常に物理的な正方形にする必要があります。したがって、正方形が拡大すると、最初のウィジェットの幅が縮小します。
ここでは、いくつかのサンプル コードが役立ちます。
ウィンドウを展開すると、GtkBox も同様に展開されます。それは良い。最初のボタンも同様に展開します。良いも。ただし、GtkWidget にset_allocationメソッドを 使用しているにもかかわらず、2 番目のボタンが正方形になることはありません。
ウィンドウを縮小すると、2番目のボタンの最小サイズが変更されたため、ウィンドウのサイズを変更できないため、set_size_requestを使用できません(または使用できますか?)。
コンテナーが間隔を管理する方法を理解しようとしている理由は、最終的には次の iTunes の例のようなものを実装しようとしているからです。
つまり、カバーが常に正方形であることがわかりますが、音楽の詳細は、使用可能なスペースに応じて縮小または拡大されます。
c - 非同期 GIO サーバー/クライアント
GIO を使用してソケット経由で通信する非同期サーバーとクライアント アプリケーションを作成したいと考えています。私は GIO の初心者なので、ブラウジングで以下のコードを取得しました。これが私のクライアントです。サーバーの例が見つかりません。この点で私を導いてください。
client-server - GSOCKET を使用してクライアント サーバー通信を実現する方法
gio と glib を使用して、クライアント サーバー通信を作成したいと考えています。ただし、GSocket と混同しています。誰かがいくつか例を挙げることができますか?また、GMainLoop はこれにどのように役立ちますか?
c - GInterface メソッドのシグネチャが VirtualTable (構造体) メソッドと一致しない場合はどうなりますか?
GObject の GInterfaces について基本に戻ることにしたので、もう一度基本チュートリアルを読みに行きました。この章では、非常に単純な GInterface を定義する方法を見ることができます。
ご覧のとおり、メソッドmaman_ibaz_do_action
とのシグネチャは、シンボルとmaman_ibaz_do_something
のシグネチャとそれぞれ一致します。_MamanIbazInterface.do_action
_MamanIbazInterface.do_something
しかし、そうしないとどうなりますか?私は実際の例を持っています。GInterface はgpollableinputstream (ソースはこちら) です。特にメソッドは read_nonblocking() で、VT に 4 つのパラメーターがありますが、後でヘッダー関数に 5 つのパラメーターがあります。
したがって、このインターフェイスの実装者が前者 (ここで実際の例) をオーバーライドする場合、他のクラスからこの実装を呼び出すにはどうすればよいでしょうか?
javascript - Gnome-Shell 拡張機能、GSettings の変更を確認しますか?
だから私は拡張機能を書いていますが、それにはいくつかの設定があります。設定は、convenient.js を使用して GSettings に保存します (こちらで説明)。関連するコードは次のようになります。
これまでのところうまく機能しており、コマンドも使用できます
gsettings モニター org.gnome.shell.extensions.workspace-alt-tab ソートモード
本当に必要な値を設定していることを確認するため。
しかし、ここで問題が発生します。これらの設定に加えられた変更をキャプチャして、コードに反映しようとするときです。他の拡張機能で見たものから、次のようになるはずだと思います。
しかし、問題は、init から呼び出されたログ行しか表示されないことです。
Gjs-Message: JS LOG: [_sortModeChanged] new sortMode: most-recently-used
また、この種のものをデバッグする方法についてはまったくわかりません(LookingGlassでも...)。誰かが私のばかげた間違いを指摘したり、この種のものをデバッグする方法についていくつかの指針を与えたりすることができれば、それは大歓迎です!
c++ - ディレクトリ内のファイルの作成または抑制と gtk::label を同期するにはどうすればよいですか?
作業ディレクトリ内のすべてのファイルをリストするプログラムがあります (glib
これを行うために使用します)。次に、このリストをGtkWindow
トラフ aで選別しますGtk::Label
。を使用してウィンドウをスクリーニングしますrun()
。
set_label()
ボタンをクリックするだけで、ディレクトリ内のファイルのリストをスクリーニングされたリストと同期させることができます。したがって、ファイルを削除または作成すると、ファイルが削除またはラベルに追加されます。しかし、クリックせずに毎秒同期するようにプログラムを作成するにはどうすればよいですか?
python - pythons Gio-Bindings を使用して DBus にオブジェクトを登録する
私は既存の C プロジェクトの Python クローンに取り組んでいます。C プロジェクトはカスタム DBus に接続し、そこでコールバックを取得するためのオブジェクトを提供します。
基本的には次のコードで Python を使用してこれを複製しようとしました。
呼び出しで vtable を作成するときにコードが失敗しvtable.method_call
ます (ただしget_property
、1 つの呼び出しをコメントアウトすると失敗します)、次のログ/トレースバック:
Python で使用しているコードを見つけることができなかったregister_object()
ので、Gio のこの部分を使用できるかどうか、または完全ではないかどうかはわかりません。
c - Glib/Gio 非同期またはスレッド化された UDP サーバー
現在、同期 UDP アプリケーションでメッセージを受信しています。
コード :
そこで、ブロッキングではなくノンブロッキングで受信操作を行いたいと思います。開発したいアプリケーションに関連する他の操作を実行できるように、非同期にするか、スレッド化する必要があります。
しかし、私はそれを思い通りにすることに成功しませんでした。GLib IO チャネルを使用しようとしましたが、動作させることができません。processus は待機していますが、これはメイン ループのためだけです (アプリケーションに telnet できません)。
コード :
私は GLib/Gio の初心者であり、IO チャネルで間違っていると思います。コールバック関数を使用できるように、イベントとしてメイン ループに追加したいと思います。多分それを行うためのより簡単な方法があります。
その上、私は動作しているTCP非同期およびスレッド化されたサーバーを持っていますが、UDPで同じことを行う方法が見つかりませんでした(GThreadedSocketServiceを使用してソケットリスナーを作成し、サービスをメインループに追加します.TCPのパイのように簡単)。
続行する方法はありますか?基本的な API ソケットのみを使用する方法を知っている場合でも、私はそれを受け入れます。ありがとう。