Chinaunix首页 | 论坛 | 博客
  • 博客访问: 432314
  • 博文数量: 96
  • 博客积分: 1110
  • 博客等级: 准尉
  • 技术积分: 662
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-14 18:47
个人简介

拔地气不挠,参天节何劲。 平生观物心,独对秋篁影。

文章分类

全部博文(96)

文章存档

2017年(2)

2016年(7)

2015年(9)

2014年(3)

2013年(10)

2012年(42)

2011年(23)

分类: C/C++

2012-04-11 01:34:49

  看本教程请先自觉看点gtk基础。

  本教程是基于windows下用code::blocks编写的   glade3 3.6.7下载地址: .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

 将出现以下窗口:

 

 

本文始发于:  转载请注明

阅读(4495) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~