【问题标题】:how to use key_press_event on Gtk and Vala如何在 Gtk 和 Vala 上使用 key_press_event
【发布时间】:2017-08-17 21:09:22
【问题描述】:

早安,伙计们。 我有一个 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 vala


    【解决方案1】:

    您的 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;
    });
    

    【讨论】:

      猜你喜欢
      • 2011-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多