我正在尝试使用glade / gtk / vala创建一个简单的应用程序。到目前为止,我有这个:
using Gtk;
class HelloWorldApp : GLib.Object {
const string UI = "test.glade";
public Window main_window;
[CCode (instance_pos = -1)]
public void on_btn_hello_clicked(Button source) {
stdout.printf("Hello, world");
}
construct {
Builder builder = new Builder();
builder.add_from_file(UI);
main_window = builder.get_object("window1") as Window;
main_window.destroy.connect(Gtk.main_quit);
builder.connect_signals(this);
}
}
class HelloWorld : GLib.Object {
public static int main(string[] args) {
Gtk.init (ref args);
HelloWorldApp h = new HelloWorldApp();
h.main_window.show_all();
Gtk.main();
return 0;
}
}
当我运行它时输出: (helloworld:22641):Gtk-WARNING **:找不到信号处理程序'on_btn_hello_clicked' 但除了被称为
的处理程序之外,其他方面运行良好我做错了什么?
答案 0 :(得分:11)
您正在做以下三件事中的一件或多件:
答案 1 :(得分:1)
live.gnome.org包含所有这些信息,包括Windows怪癖:http://live.gnome.org/Vala/GTKSample#Loading_User_Interface_from_XML_File