問題タブ [gtk2]

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 投票する
1 に答える
135 参照

r - RGTK2 でデータフレームの行を選択する

私は以下のようなことをしたい:

  • 右側にスクロールバーを配置して、RGTK2 ウィンドウにデータフレームを表示します
  • ユーザーはデータフレーム内の特定の行をクリックして選択でき、ユーザーが実際にクリックした行を「取得」できます

これはRGtk2でできるのかな。ありがとう。

0 投票する
4 に答える
7032 参照

c - 合成マウス イベントを X11 入力キューに挿入する方法

USB 接続を介してタッチ イベントを提供するデバイスに接続されている、Linux/X11 を実行する組み込みデバイスがあります。このデバイスは、標準のポインター/マウス入力の形式としては認識されません。私がやろうとしているのは、外部デバイスがイベントを報告したときにマウスイベントを X11 に「注入」する方法を見つけることです。

そうすることで、私のアプリケーション (Gtk+ を使用して C で記述) が Gtk+ 呼び出しでマウスの押下を偽造する必要がなくなります。

これができれば、私の Gtk+ アプリケーションは、タッチ イベントを生成するデバイスを認識したり気にしたりする必要がなくなります。アプリケーションには、標準のマウス イベントとして表示されます。

X11に合成マウスイベントを挿入する方法を知っている人はいますか?

現在、私は次のことを行っていますが、これは機能しますが、最適ではありません。

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

c - Gtk2GtkDrawingAreaのXIDを取得してMplayerを埋め込む方法

私は、とりわけMplayerビデオをに再生する必要があるGtk2アプリケーションを書いていGtkDrawingAreaます。GtkDrawingArea私の知る限り、これは、のXIDを見つけて、これをパラメーターとしてMplayerに渡すことができれば可能です。ただし、以下のコードスニペットを使用しています。

アプリケーションを実行すると、次のエラーが発生します。

のXIDを取得する適切な方法は何GtkDrawingAreaですか?どんな助けでも大歓迎です。

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

r - ggroupでのgWidgetsとrGtk2の問題

ubuntu 12.04で、gWidgetsをインストールし、RGtk2バインディングを使用する予定です。今、のような単一のコンポーネントの呼び出し

動作しますが、他の基本的な機能

何かがインストールされていないときに通常発生するエラーが発生します

libgtk-devとRおよびgWidgetsの両方を再インストールしようとしましたが、何も機能しませんでした。

何か案は?

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

gtk - GTK、子親、共有の思い出と

私はGTKに本当に慣れていないので、それを理解しようとしています。私が今持っているのは

ユーザーは、親、子「およびその他」の間の共有構造体です。この構造体には、GtkTextView の親プロセスでプレビューしたいデータが含まれています。データが利用可能になり次第、その方法がわかりません。親でこのようなものを使用することはできません

データが利用可能かどうかを確認し、データを GtkTextView に書き込みます。gtk のメイン ループのため、これは不可能です。このシナリオには別の方法があるはずなので、更新または利用可能になるとすぐにユーザー - >イベント(char *)を監視できるようになります(ユーザーはshmで、イベントもshmです)が、どうすればできますかgtk にループするように指示します。Gtkスレッド?

shm を使用して子プロセス (ウィジェットが親プロセスで実行されている場所) からウィジェットに書き込む簡単な方法はありますか?

私がやろうとしていることよりも簡単な方法が他にもあると確信しています。

編集1:

構造体で子プロセスから生成/変更/追加されたデータを確認でき、親プロセス (shm) で問題なく確認できます。私がやりたいのは、データが変更されたらすぐに TextView を更新することだけです。これには、チェックと更新が必要な while ループが必要だと思いますが、gtkmainloop がブロックされているため、それは起こりません。アイデアや方法が必要です。私を助けるためにgtk関連の呼び出しを見つけようとしてしばらく費やしましたが、できませんでした。

0 投票する
0 に答える
209 参照

c - 単純な機能では表示の応答時間が遅すぎるように見える

Debian Linux を実行する ARM プロセッサを搭載したタッチスクリーン パネル用の GTK 2.0 を使用して、C でアプリケーションを作成しました。これは、クリックできるいくつかのボタン (イベント ボックス) を画面に表示する、非常に基本的なアプリケーションです。1 つのページに、上矢印と下矢印 (イベント ボックスも) をクリックしてスクロールできる「リスト」を表示する 4 つのフィールドがあります。スクロール用の私の関数 (以下のコード) は非常に基本的なものです...配列の次の項目で各フィールドを更新するだけです。すべて正常に動作しますが、私が見ている問題は、スクロール ボタンを繰り返しクリックする速度が速すぎると、いくつかのリスト アイテムが先に進みすぎてしまうことです。何が起こっているかについての私の推測では、クリックが速すぎると、画面が更新されるよりも速くカウンターが進みます。もう一度クリックするまでに、実際には高すぎるカウンターで更新されます。本当に速くクリックしたときにのみ発生した場合は気にしませんが、このような単純な機能がかなり速い速度で繰り返される場合、応答が遅いのは常識から外れているように思われます.

GTK を使用した画面の更新に関して、私が見逃している可能性があるものについて、誰かが何らかの意見を持っていることを願っていますか?

ご意見やアドバイスをお寄せいただきありがとうございます。

これが私の「ボリュームアップ」機能と「スクロールアップ」機能のコードで、どちらも同じ問題を抱えています。同じ問題に対応する「スクロールダウン」機能と「ボリュームダウン」機能があります。

そして他の:

0 投票する
0 に答える
668 参照

gnome - (gtk スレッドでも) Glib ディスパッチャーを削除すると、segfault が発生する

ディスパッチャを使用するマルチスレッド コードがいくつかあります。gtk スレッドでディスパッチャーを作成/破棄する際には注意が必要でした。しかし、そこからでも破壊できないらしい。このコードを参照してください (これはシングル スレッドでもあります)。何か不足していますか?

===環境=== Ubuntu 11.10、gtkmm 2.24.2-1、libglib 2.30.0

===GDB====

====VALGRIND====

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

java - Java Swing で GTK+ 2.0 のボタン スタイルを模倣できますか?

Java Swing の問題はルック アンド フィール (Metal、Nimbus、GTK...) であり、SWT、Windows、Mac、および Gnome Tool Kit と比較して最悪であり、見栄えの良いウィジェットを取得することはユートピストです。質問ですが。

JButton を微調整して、デフォルトの GTK ボタンのように見える可能性があるかどうかを知る必要があります。 それ以外の場合、JButton テキストにスタイル (たとえば、影) を与えることはできますか?

GTK によってボタン ウィジェットに適用されるスタイルは次のとおりです。

これは、Java エンジンによって提供されるデフォルトの GTK ルック アンド フィールを使用する場合のボタンの外観です。

Java GTK LAF ボタン

ここでは、ボタンが Linux (GTK 2.0) でどのように見えるかを示します。

GTK ボタン Linux

違いは、実際には Java GTK LAF の不適切なテキスト ヒンティングですが、GTK ボタン テキストは個別のシャドウでスタイル設定されています。

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

gtk - iterが有効な場合でも、gtk_tree_selection_select_iter()が別の行の子行を選択しないのはなぜですか?

が付いたアプリケーション(ここで機能するsscceコード)があります。行が選択されるたびに、コールバックが呼び出されます。このコールバックは、選択された行を取得し、そのデータを何らかの方法で処理する必要があります。GtkTreeView

私のアプリケーションは、このツリービュー自体のいくつかの行を選択する必要がある場合があります。

これは、最上位の線、つまりルートから直接下がる線を選択する必要がある場合にうまく機能します。ただし、子行(たとえば、3行目の最初の子行)を選択しようとすると、コールバック関数でエラーが発生しました(ここではsscceコード、42行目でのみ変更)。

エラーは、次の警告とそれに続くセグメンテーション違反です。

(treetest:1843):Gtk-CRITICAL **:gtk_tree_store_get_path:アサーション `iter-> user_data!=NULL'が失敗しました

(treetest:1843):Gtk-CRITICAL **:IA__gtk_tree_model_get_string_from_iter:アサーション `path!=NULL'が失敗しました

また、マウスで同じ行を選択しても、このエラーは発生しません。

どうして?選択されたパス"2:0"は有効ですが、選択から返されたiterは有効ではないため、行が選択されていないと思います。なんで?