問題タブ [gobject]
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 - gobject と呼ばれる終了状態
Python スクリプトでは、gobject 呼び出しを行います。私はそれがいつ終わるかを知る必要があります。これを確認する方法はありますか?確認する機能などはありますか?
私のコードは次のとおりです。
最初に終了するまで保留して、別のオブジェクトを開始したいと思います。gobject リファレンスを調べましたが、必要なものが見つかりませんでした。ありがとう
c - gobject-2.0 に対してコンパイルできません
私は gobject システムを学ぼうとしているので、gnome サイトのドキュメントをいくつか読んで、GObject を親とする単純な gobject を作成しました。コンパイルするたびに仕事を実行し続けるのはgcc
嫌で、同時にビルドシステムも学びたいと思っていました。pkg-config
gobject-2.0を検索するところまで機能するようになったautotoolsを試しました。
コマンド ラインからプロジェクトをコンパイルするには、次のようにします gcc *.c $(pkg-config --cflags --libs gobject-2.0)
(書式設定のために余分なティックを削除する必要がありました)。とにかく <--- このコマンドは機能します。
ただしgcc $(pkg-config --cflags --libs gobject-2.0) *.c
、これは同じコマンドである必要があり、これを返します。
はい、それは別の注文とまったく同じコマンドです。何が問題なのかわかりません。autotools/automake がビルドを行う方法は次のとおりです。
これは風変わりな gcc コンパイルのものですか? 私はclangを試しても役に立たなかったので、これはリンカの問題だと思いますか? 私にはまったくわかりませんが、そこにいる誰かがそうすることを望んでいました。これはかなりイライラします。
「問題のあるコード」は次のとおりです。
編集:これは私のautotoolsビルドの出力です。とにかくmake部分です:
興味深い部分は次のとおりです。置き換えるgcc -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -g -O2 -lgobject-2.0 -lglib-2.0 -o GObjectTest main.o myobject.o
とgcc -o GObjectTest main.o myobject.o -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -g -O2 -lgobject-2.0 -lglib-2.0
機能します。
c - どのようなタイプの GTK+ 2.0 ウィジェットからも継承できるクラスを C で作成するにはどうすればよいですか?
どのようなタイプの GTK+ 2.0 ウィジェットからも継承できるクラスを C で作成するにはどうすればよいですか? C++ を使用する場合は、そのパラメーターから継承して必要な動作を追加するテンプレートがあり、Objective-C で同様のことを行う場合は、NSProxy を使用してメッセージをクラス メンバーに転送することを知っています。これは実際のビュー コントローラーですが、GTK+ 2.0 を使用して C で同じタスクを達成する方法がわかりません。
どのようなタイプの GTK+ 2.0 ウィジェットからも継承できるクラスを C で作成するにはどうすればよいですか?
PS 理由を尋ねる人もいます。理由を尋ねることは十分に公平です。以前の質問でわかるように、オブジェクト指向でない GUI ライブラリは何ですか? 私は非オブジェクト指向の方法でプログラミングすることに挑戦してきました。オブジェクト指向ではない方法でプログラミングしたいので、GTK+ 2.0 で利用可能なすべてのクラスを抽象化して、必要な動作を表現する必要があります。具体的には、各クラスを継続で機能させる必要があります。
簡単な継続の実装は次のとおりです。
その継続にメッセージを送信したいクラスは、IP 値が (スタブ) 関数 event_get を指すまで、その継続をその環境に適用されたその IP の結果で継続的に置き換えます。次に、クラスは環境内の情報を使用して適切に応答し、新しい継続を取得するため、次のメッセージのためにサイクルを最初からやり直すことができます。
python - python gobject 呼び出しで gui がフリーズする
私はgtkでpythonを使用しています。ファイルをダウンロードしたいのですが、これが起こっている間に、ウィンドウにアニメーション GIF を描画します。しかし、ダウンロードが開始されるたびに、gif がフリーズします。gobject 呼び出しでこれを修正する必要があると思いましたが、そうではないようです。
呼び出しは次のとおりです。
ギークラスで
そして負荷関数:
load を呼び出すたびに、GUI スタックがスタックされます。それをより良くする方法はありますか?
元のコード:
c - g_signal 遅延 (C、GTK+)
2 つのボタン ( A、B ) と描画領域 ( C )を備えた小さな GTK アプリケーションがあります。Aをクリックすると、Cのサイズが再計算され、gtk_widget_set_size_request() で設定されます。これにより、エクスポーズ イベントが発生し、そのハンドラーがデータを計算します。さらに、Aをクリックすると、 Bでクリックされたシグナルが発せられ、そのハンドラーはCのエクスポーズイベントによって計算されたデータを必要とします。
実際にはすべて正常に動作しますが、expose-eventが何らかの形で遅延し、クリックされたハンドラーが前に呼び出され、データ (ご想像のとおり) が欠落しています。
私に何ができる?
python - Avahi.ServiceResolver を動作させることができません
現在Avahi raw dbusインターフェイスを使用しているコードを、Avahi gobjectインターフェイスを使用するように移植しようとしています(Pythonからのgobjectイントロスペクションを介して)。
ServiceBrowser を取得しましたが、ServiceResolver を動作させることができません。これが私のコードです:
出力例:
ctrl-cを押す前に、約1分間実行したままにしました。ご覧のとおり、ServiceResolver を呼び出していますが、sr_found メソッドと sr_failure メソッドは呼び出されません。どうすればこれを機能させることができますか?
( http://code.ohloh.net/でこれを行う他のコードを見つけることができないため、これを試みたのは私が最初ではないかと思います)
python - リズムボックス プラグインから Python Web サーバーを起動する
rhythmweb に似た Rhythmbox プラグインを実装しようとしていますが、プラグイン内から HttpServer を起動する際に問題があります。
通常のようにサーバーを起動すると (たとえば、make_server(...).server_forever() を使用)、プラグインがリズムボックスをブロックします。だから私はrhythmwebを見ましたが、サーバーへのリクエストを開始するたびにセグメンテーション違反が発生します。それが私がすることです:
最後の行を self.__server.server_forever() に置き換えると、すべて正常に動作しますが、リズムボックスがブロックされます。
私の 2 番目のアプローチは、新しいスレッドで Web サーバーを起動することでした。これはかなりうまく機能しますが、django アプリケーションで rhythmbox シェル オブジェクトを使用する際に問題が発生します。
だから私は、リズムボックスをブロックせずに同じスレッドで実行するWebサーバーを起動する方法を探しています。リズムウェブも同じように行うため、最初のアプローチでセグメンテーション違反が発生する理由がわかりません。
私の問題を解決できることを願っています。
ところで:私は、debian スクイーズ (テスト) で python 2.7 と rhythmbox 2.97 を使用しています
linux - make gobject-introspection-1.32.1 中の Linux エラー
組み込み Linux に gobject-introspection-1.32.1 をインストールしたいと考えています。しかし、make
このエラーメッセージの間に表示されます。
誰かが今何をすべきか?
python - 保留中のタスクを待機しているPyGTK/Gobject
時間のかかる操作(数メガバイトのテキストをTextBufferにロードする)を開始する直前に、PyGTKアプリケーションの一部のラベルのテキストを変更したいと思います。しかし、これを実行しようとすると、TextBufferがファイルのロードを開始し(テキストがビューアに表示されます)、プログラムがフリーズしたように見えるまで数秒かかるまで、ラベルの更新は行われません。ユーザーのために、ファイルのロードを開始する前に、コードが記述されているのと同じ順序でこれらのメッセージを表示したいと思います。これどうやってするの?gobjectのメインループで保留中のイベントの実行をプログラムで待機させる方法はありますか?(これは、gtk.Label.set_textへの呼び出しが行われると私が想定している場所です)
glib - Gobject で親クラスを取得する
私は GObject を初めて使用します。あるクラスの親へのポインターを取得することについて混乱しました。たとえば、Gobject 仕様では、次のクラスがあります。
違いは何ですか :
と
g_object_classとparent_classの違いは何ですか
もう 1 つの質問: MamanBarClass(klass)とMAMANBARCLASS(klass )のキャストの違い ありがとうございます。