我用 glade 制作我的界面。效果很好。我编写了一个很小的 main 函数,它调用 gtkbuilder 并渲染 glade 文件中的所有内容。
Gtk::Main kit(num, opts);
// Load the GtkBuilder file and instantiate its widgets:
Glib::RefPtr<Gtk::Builder> builder = Gtk::Builder::create_from_file("dsg.glade", "mainwindow");
效果更好。然后我得到我的小部件
Gtk::Button *sf = 0;
builder->get_widget("button", sf);
怎么办?我发现的每个连接信号处理程序的示例都不是由 gtkbuilder 构建的。如果你实例化你自己的类来表示/处理/渲染一个按钮,很容易将信号处理程序连接到它,但是我使用的是 gtkbuilder,我不知道如何编写一个函数,然后我可以附加到我的小部件,因为我不是创建按钮对象的人,所以 gtkbuilder 是。
我是否让 gtkbutton 的子类编写我的函数然后指向它?但是我的类没有被 gtkbuilder 实例化。
我只是不明白。帮助?