如何在vala使用gtk/glade
我正在尝试用glade/gtk/vala制作一个简单的应用程序。到目前为止,我有:如何在vala使用gtk/glade,gtk,glade,vala,Gtk,Glade,Vala,我正在尝试用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) { std
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警告**:在单击“你好”时找不到信号处理程序
但除未调用处理程序外,其他情况下运行良好
我做错了什么?您做错了以下三件事中的一件或多件:
Gtk.Builder
编译程序时,必须将--pkg gmodule-2.0
添加到valac
命令行李>
hello\u world\u app\u李>
如果您使用的是Windows,您还必须添加[CCode(cname=“G_MODULE_EXPORT on\u btn\u hello\u clicked”)]
李>
live.gnome.org上有所有这些信息,包括Windows的怪癖:有一个很好的入门教程,介绍如何使用Glade和Vala编写GUI应用程序-看看吧,其实很简单!在我找到本教程之前,我在这方面已经坚持了几个月:(