問題タブ [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.

0 投票する
3 に答える
3079 参照

python - pygtk で新しいシグナルを作成するにはどうすればよいですか

Python オブジェクトを作成しましたが、シグナルを送信したいと考えています。gobject.GObject から継承させましたが、オブジェクトに新しいシグナルを作成する方法がないようです。

0 投票する
6 に答える
26933 参照

c - GObjectとGlibを​​学ぶ教材

私は C に慣れていますが、GObjectGlibforを学ぶ必要がありgstreamerます。私がネットで見つけたのはGobjectリファレンスマニュアルだけです。主な焦点はgstreamerであるため、Gobject/Glibのチュートリアルを探しています。

したがって、他のリソースを共有して、glib と gobject を学習してください。

0 投票する
3 に答える
1948 参照

python - gobject io モニタリング + ノンブロッキング読み取り

io_add_watchPython で (gobject 経由で) モニターを使用する際に問題が発生しました。通知のたびにバッファ全体のノンブロッキング読み取りを実行したいと考えています。コードは次のとおりです (少し短縮されています)。

トリックは次のとおりです。デバッグ出力をアクティブにせずにプログラムを実行すると、got_message呼び出しが行われません。最初に stderr に多くのものを書き込むと、問題はなくなります。このコードに表示される出力以外に何も記述しないと、stdin メッセージ シグナルを取得できません。もう 1 つの興味深い点は、stderr デバッグを有効にして同じアプリを実行しようとするとstrace(見逃した fcntl / ioctl 呼び出しがあるかどうかを確認するために)、問題が再び発生することです。

つまり、strace を使用せずに最初に stderr に大量の書き込みを行うと、io_watch機能します。strace でたくさん書くか、まったく書かないとうまくいきio_watchません。

「some other init」部分には時間がかかるため、「hooked 2」出力が表示される前にテキストを入力し、「ready」後に「ctrl + c」を押すと、get_messageコールバックが呼び出されますが、読み取り呼び出しは EAGAIN をスローします。バッファが空のようです。

標準入力に関連する Strace ログ:

ここで何が起こっているかについて誰か考えがありますか?


編集:別の手がかり。アプリをリファクタリングして、別のスレッドで読み取りを行い、パイプ経由で戻そうとしました。それは「一種の」作品です:

同じテキストを新しいパイプに入れるだけで、すべてが機能し始めるのは驚くべきことです。問題はそれです:

  • 最初の行はまったく「認識」されていません-2行目以降の行のみが表示されます
  • それは醜いです

多分それはなぜそれが起こっているのかについて他の誰かの手がかりを与えるでしょうか?

0 投票する
2 に答える
3236 参照

glib - Gobjectで、親クラスのメソッドをオーバーライドする方法は、インターフェイスに属していますか?

GObjectクラスAはインターフェイスIAを実装し、BはAの派生クラスです。BはインターフェイスIAの一部であるAのメソッドをどのようにオーバーライドできますか?

または、これはGObjectで可能ですか?

親クラスのメソッドをオーバーライドする方法は知っていますが、継承がインターフェイスと出会うと、事態はより複雑になるようです。

どうもありがとう!

0 投票する
2 に答える
1008 参照

python - PyGObjectの代わりに?

PyGObjectを使用する代わりの方法はありますか?Mac OS Xではまったく動作しないようです。パピオンを使おうとしていますが、GObjectがないと驚くほどうまく失敗します。

0 投票する
5 に答える
391 参照

c - 私が今まで見た中で最も奇妙なエラー、別名)*

私はこの素晴らしいアプリケーションを書いていますが、少なくとも私はそれが素晴らしいと思います。CでGObjectの素晴らしいブレンドを使用し、しばらくすると、この非常に奇妙なエラーが発生し始めます。また、いつも出てこないことに気づいたと思います。ただし、これはIDEの障害である可能性があります。とにかく...

GCCは、明らかに、次のように文句を言います。 「*」トークンの前に「)」が必要です。これはヘッダーファイルで発生します。

これはまったく同じヘッダーファイルです。

私が見る限り、これはCharcoalApp *appその関数のパラメーターから来ています。

このエラーが発生している理由がよくわからないため、CharcoalApp.hファイルを含めます。global.hは、主にGLib、GObject、GThread、GTK +、WebKitなどの主な依存関係を保持する非常に単純なヘッダーファイルです。

CharcoalApp.h

ご協力ありがとうございました!

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

ruby - GtkTreeView のカスタム CellRenderer のための Ruby での GObject サブクラス化

Ruby/GTK でカスタマイズされた CellRenderer を実装しようとしていますが、既に次の提案を見つけました。

Ruby での GObject サブクラス化

ただし、次のことを試すと:

これらのシグナルは決して呼び出されません。これは、Ruby が GObject API にどのように接続されているかに関係していると思いますが、正直なところ、これがどのように機能するのかわかりません。

私がやりたいのは、CellRendererText をサブクラス化し、メソッドを上書きすることです。この例では、TreeView によって呼び出される get_size です。ただ、CellRendererTextはRubyクラスではなくCモジュールなので、実際にシステムに認識させないとメソッドを上書きできないと思います。

また、CellRenderers を TreeViewColumn に割り当てる必要があります。これにより、get_size およびその他のメソッドが呼び出されます。

私の知る限り、同様の問題が PyGtk に存在し、GenericCellRendererクラスを追加することで何らかの形で回避されました。

http://faq.pygtk.org/index.py?req=show&file=faq13.045.htp

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

python - GObject.add_emission_hook の使い方

SOに関する最近の質問に続いて、GObjectの「add_emission_hook」を使用するように親切に指示され ましたが、使用例が見つからないようです。

誰か共有してください。

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

python - gobject の pydev の問題

Python 2.6 を使用する Eclipse (3.5.1) 上の Pydev (1.5.4) は、パッケージを正しく相互参照できないようgobjectです。import gobjectputは問題なく動作しますが、それ以上の場合 (たとえば、 Pydevclass X(gobject.GObject)が「未解決の参照」エラーを報告する原因となります。

何が問題なのですか?

私が使用する他のすべてのパッケージは、このエラーをトリガーしないことに注意してください。

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

signals - g_signal_connect_swapped()は何をしますか?

GObjectリファレンスによると

g_signal_connect_swapped(instance、detailed_signal、c_handler、data); GCallback関数を特定のオブジェクトのシグナルに接続します。ハンドラーを呼び出すときに、シグナルが発行され、データが交換されるインスタンス。

これが何を意味するのかよくわかりません。dataこれは、が指しているオブジェクトを指し、が指しているオブジェクトを指すことをinstance意味instanceしますか、dataそれとも私はここで間違いを犯していますか?

前者の場合、この背後にある論理は何ですか?