早上好,伙计们。 我有一个Gtk.Entry,当按下一个键时按下一个事件我需要。 探究https://valadoc.org/gtk+-3.0/Gtk.Widget.key_press_event.html
但我不知道如何使用它。
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 ();
}
帮帮我吧
答案 0 :(得分:3)
您的Gtk.Widget key_press_event信号处理程序是正确的,但您错过了返回值。该方法需要返回一个布尔值,该布尔值应为:
如果要阻止为事件调用其他处理程序,则为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;
});