如何在 Gtk 和 Vala 上使用 key_press_event
how to use key_press_event on Gtk and Vala
早上好,伙计们。
我有一个 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 ();
}
请帮帮我
您的 Gtk.Widget key_press_event 信号处理程序是正确的,但您错过了 return 值。该方法需要一个布尔值的 return,它应该是:
true to stop other handlers from being invoked for the event. false to
propagate the event further.
尝试将其添加为:
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;
});
早上好,伙计们。 我有一个 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 ();
}
请帮帮我
您的 Gtk.Widget key_press_event 信号处理程序是正确的,但您错过了 return 值。该方法需要一个布尔值的 return,它应该是:
true to stop other handlers from being invoked for the event. false to propagate the event further.
尝试将其添加为:
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;
});