如何在Gtk和Vala上使用按键事件

如何在Gtk和Vala上使用按键事件,gtk,vala,Gtk,Vala,早上好,伙计们。 我有一个Gtk.Entry,当按下一个键时,我需要一个事件。 探测 但我不知道如何使用它 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 (); } 请

早上好,伙计们。 我有一个Gtk.Entry,当按下一个键时,我需要一个事件。 探测

但我不知道如何使用它

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 ();
}
请帮助我您的Gtk。小部件信号处理程序是正确的,但您错过了返回值。该方法要求返回布尔值,该值应为:

true以停止为事件调用其他处理程序。欺骗 进一步传播事件

尝试将其添加为:

private bool capture_kilometer (Gdk.EventKey key )
{
    number_to_calc = kilometer.get_text ();
    calc_kilometer_all ();
    return false;
}
或者,您可以使用lambda表达式作为:

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