2017-08-17 5 views
1

おはよう、みんな。 私はGtk.Entryを持っており、キーが押されたときにイベントが押された時が必要です。 プローブでhttps://valadoc.org/gtk+-3.0/Gtk.Widget.key_press_event.htmlGtkとValaでkey_press_eventを使用する方法

しかし、私はそれを使用する方法がわかりません。

kilometer.unit_entry.key_press_event.connect (capture_kilometer); 


private bool capture_kilometer (Gdk.EventKey key) 
{ 
    number_to_calc = kilometer.get_text(); 
    calc_kilometer_all(); 
} 

答えて

3

あなたGtk.Widget key_press_eventシグナルハンドラが正しいですが、あなたは、戻り値を逃しplsは私を助けて。このメソッドは、次のブール値の返り値が必要です。

イベントに対して他のハンドラが呼び出されないようにするにはtrueです。 falseにすると、イベントはさらに広がります。 追加

試してみてください。

kilometer.unit_entry.key_press_event.connect ((key) => { 
    number_to_calc = kilometer.get_text(); 
    calc_kilometer_all(); 
    return false; 
}); 

private bool capture_kilometer (Gdk.EventKey key) 
{ 
    number_to_calc = kilometer.get_text(); 
    calc_kilometer_all(); 
    return false; 
} 

別の方法としては、としてラムダ式を使用することができます

関連する問題