yong230 发表于 2011-9-21 20:08:54

code::blocks 与glade3如何集成?

哪位高手能给我详细讲一下,如何在code::blocks 下集成glade3呢?小弟我搞了两天都没搞成功,从网上查了资料很少,说的看不懂,都没成功,快崩溃了.急需哪位高手指点啊!小弟我必感激不尽!

ACTom 发表于 2011-9-21 21:16:13

我不知道你说的集成是什么意思,但是可以给你稍微讲下glade3的用法:
从glade3开始,glade将不再负责代码了,纯粹是个ui工具,也就是界面。
具体步骤如下:
1、使用glade3绘制一个界面,保存,这里记得请保存为gtkbuilder格式,也就是.ui。
      这里假设你建立的窗口名为windows1。
2、用codeblocks建立一个工程,加入以下代码
      GtkWidget *window;
      GtkBuilder *builder;
      GError* error = NULL;

      /* Load UI from file */
      builder = gtk_builder_new ();
      if (!gtk_builder_add_from_file (builder, UI_FILE, &error))
      {
                g_warning ("Couldn't load builder file: %s", error->message);
                g_error_free (error);
      }

      /* Auto-connect signal handlers */
      gtk_builder_connect_signals (builder, NULL);

      /* Get the window object from the ui file */
      window = GTK_WIDGET (gtk_builder_get_object (builder, "window1"));
      g_object_unref (builder);
这里,UI_FILE是你的ui文件,倒数第二行的window1就是你需要获取的控件的名称。
你可以把这段代码封装成一个函数使用,需要获取其它控件,在window = ....下面接着写就成。

qzuser 发表于 2013-1-1 21:55:15

Tom 发表于 2013-1-5 14:49:17

qzuser 发表于 2013-1-1 21:55 static/image/common/back.gif
codebolcks编辑编译代码。
glade设计 *.glade文件。
今天学的。

建议不要保存为.glade,因为这样,你的代码还需要带libglade库

fishchangyou 发表于 2013-1-8 11:48:23

ACTom 发表于 2011-9-21 21:16 static/image/common/back.gif
我不知道你说的集成是什么意思,但是可以给你稍微讲下glade3的用法:
从glade3开始,glade将不再负责代码了 ...

如果用到ui里面的button控件就在window下面加button=之类的?新手,问题太菜还请见谅

ACTom 发表于 2013-1-9 18:46:44

fishchangyou 发表于 2013-1-8 11:48 static/image/common/back.gif
如果用到ui里面的button控件就在window下面加button=之类的?新手,问题太菜还请见谅 ...

不是,有个叫gtk_builder_get_object ()的函数可以直接获取到UI中的控件。
页: [1]
查看完整版本: code::blocks 与glade3如何集成?