看本教程请先自觉看点gtk基础。
本教程是基于windows下用code::blocks编写的 glade3 3.6.7下载地址:http://www.bailangcn.tk/up/soft/glade3-3.6.7-with-GTK .rar
打开glade后在 左边顶层标签那里点“窗口” 然后将名称改成window 也可以改标题 如图:
并将其保存至E:\glade教程
文件名为 1.glade 然后打开code::blocks输入以下代码 (具体看注释)
/*
作者:bailangcn
时间:2012/3/12
作者主页:bailangcn.tk
*/
#include
int main(int argc, char *argv[])
{
/*
GTK+采用GtkBuilder读取1.glade文件,然后生成界面对象,
获取到我们所需的对象,我们就可以释放GtkBuilder对象了。
*/
GtkBuilder *builder;
gtk_init(&argc, &argv);
GtkWidget *window;
builder = gtk_builder_new();//创建GtkBuilder对象
gtk_builder_add_from_file(builder, "1.glade", NULL);//读取glade文件
window = GTK_WIDGET(gtk_builder_get_object(builder, "window")); //获取并生成界面对象
g_signal_connect(G_OBJECT(window),"delete_event",G_CALLBACK(gtk_main_quit),NULL);// 关闭信号的连接 这个也可以在glade里面填写 不过我习惯在这里写 阅读的时候比较直观
//gtk_builder_connect_signals(builder, NULL);//自动关联已在 UI 文件配置好的信号 如果你不在galde文件里面配置信号这行代码可以不用
g_object_unref(G_OBJECT(builder));//释放GtkBuilder对象
gtk_widget_show_all(window);
gtk_main();
return 0;
}
编译运行
如果在glade里面连接信号 记得加上编译参数 -Wl,--export-dynamic。如果你是在Windows上,你只需要在相应的函数前加上 G_MODULE_EXPORT 即可 以后的教程将不再提示
视频教程地址:http://ekd123.org/blog/build-your-app-with-glade-helloworld