白浪 发表于 2013-7-12 22:21:11

GLADE3教程(一)

本帖最后由 白浪 于 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转载请注明

白浪 发表于 2013-7-12 22:22:11

国际惯例。。。。

colben 发表于 2014-5-1 22:00:15

zhuchunjiangxt 发表于 2014-7-2 23:25:31

白浪 发表于 2014-7-3 09:35:50

zhuchunjiangxt 发表于 2014-7-2 23:25
楼主图裂了怎么回事啊

我玉米挂了

白浪 发表于 2014-7-3 09:35:52

zhuchunjiangxt 发表于 2014-7-2 23:25
楼主图裂了怎么回事啊

我玉米挂了
页: [1]
查看完整版本: GLADE3教程(一)