2017-05-23 30 views

答えて

0

ないあなたの目的が何であるかを確認し、おそらくあなたの最終的な目標を達成するためのより良い方法があるが、いずれにせよ、

あなたはマウスがで追跡したいウィジェットに信号を接続する必要があります。信号はGtkWidgetからのもので、それはmotion-notify-eventと呼ばれています。シグナルハンドラは、マウスのx座標とy座標でイベントを受け取ります。

GtkTable(GtkWidgetを継承しています)上にマウスを置いておきたい場合は、シグナルを接続してコールバックでGtkLabelを更新してください。

EDIT:

@jkuが述べたように、彼らはGdkWindowを持っていないため、一部のウィジェットがこれらのイベントを受信しません。おそらく最善のオプションは、テーブルをEventBoxコンテナに追加してから前述のように処理することです。また、この質問はhereとなっています。

+0

最後の段落はちょっと誤解を招いています。私はMotion-notify-eventがまだGdkWindowを持つウィジェットでしか動作しないことを確信しています.GtkTableはGtkTableを持っていません。また、GDK_POINTER_MOTION_MASKマスクをウィジェットに設定する必要があります。 – jku

+0

@jkuニュアンスがあります。私は後でメッセージを編集します。私は携帯電話で簡単にできません。イベントボックスのコンテナか、モーションマスクフラグを有効にすることができます...アイデアは正しい方向に彼を指すことでした。フィードバックのためのTks –

関連する問題