本帖最后由 白浪 于 2013-7-12 22:27 编辑
看本教程请先自觉看点gtk基础。 本教程是基于windows下用code::blocks编写的 glade3 3.6.7下载地址:http://www.bailangcn.tk/up/soft/glade3-3.6.7-with-GTK .rar
打开glade后在 左边顶层标签那里点“窗口” 然后将名称改成window 也可以改标题 如图: ![](http://www.bailangcn.tk/content/uploadfile/201203/thum-4a47a0db6e60853dedfcfdf08a5ca24920120312152706.png)
并将其保存至E:\glade教程 文件名为 1.glade 然后打开code::blocks输入以下代码 (具体看注释) - /*
- 作者:bailangcn
- 时间:2012/3/12
- 作者主页:bailangcn.tk
- */
- #include <gtk/gtk.h>
- 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 将出现以下窗口: ![](http://www.bailangcn.tk/content/uploadfile/201203/thum-fb5c81ed3a220004b71069645f11286720120312155546.png)
本文始发于:http://www.bailangcn.tk/?post=7 转载请注明
|