vala中GTK .ui文件中的管理信号

问题描述 投票:1回答:1

从以下.ui文件中,我得到了信号:

     <object class="GtkButton" id="button2">
        <property name="label">Button 2</property>
        <property name="visible">True</property>
        <property name="can_focus">False</property>
        <property name="receives_default">False</property>
        <signal name="clicked" handler="on_button2_clicked" swapped="no"/>
      </object>

信号on_button2_clicked的名称和以下我用来通过add_callback_symbool处理事件的代码:

    // Create Builder
    var build = new Gtk.Builder ();
    build.add_from_resource ("/me/rush/Rush/main.ui");

    // Create an instance
    var window =  (Gtk.ApplicationWindow) build.get_object ("window");

    // handle event
    build.add_callback_symbol ("on_button2_clicked", ()=> {print ("click");});

    window.application = app;
    window.show_all ();

GUI出现在屏幕上,但是事件on_button2_clicked的处理不起作用,我试图用build.connect_signals (null)处理事件,并且使用相同名称的definend函数,但也不起作用

[谷歌搜索时,我找到了一种在模板中使用callbaks的方法,但是我想做的是使用connect.signalsadd_callback_symbol处理事件我也尝试了示例here,但是它不起作用

gtk3 vala
1个回答
1
投票

[我也将其回复为your question on GNOME's discourse,但我将在此处再次发布答案以提高知名度:

© www.soinside.com 2019 - 2024. All rights reserved.