2007年6月28日星期四

Glade vs libglade.

Glade 和 libglade 之简的关系和使用建议。

Glade

是一个图形界面的构建 GTK+/GNOME 程序界面的程序,她是所见即所得的,同 M$ 的 visual studio 中的界面设计工具类似。使用它你可以获得一个描述你界面的名为 xxx.glade 的 xml 文件,你也可以用它直接生成构建程序界面的 c/c++ 代码。

libglade

是一个用于 GTK+/GNOME 程序中的,从 xxx.glade 文件自动生成程序界面或界面中的一部分的库。 Glade 设计初衷就是要把 GTK+/GNOME 程序的界面描述从源代码里分离出来,即使用 xxx.glade 文件来描述界面,而不是把生成界面的 c 代码写再源代码中,额外的好处就是使得后期修改程序界面非常容易,你只需要使用 Glade 来调整界面即可(实际是仅仅修改了 xxx.glade 文件,无需对源程序做改动)。另外,使用 .glade 文件来生程序界面并不会影响到你的程序的效率,因为你只需要一次装入所有界面,然后在需要时直接使用。

因此,正确的使用 Glade 的方法是:采用 Glade 来生成你的程序界面的 .glade 文件,然后在你的源码中使用 libglade 提供的接口函数来生成你的界面,或界面中一部分。

技巧1

也许你并不需要使用 libglade 来生成你的整个程序界面,libglade 允许你这么做,你只需要在装载 .glade 时指定你需要的控件名即可。

技巧2

当你只需要 .glade 中的某一部分控件,而又想一次载入整个 .glade 文件时,你需要在使用 Glade 设计界面时把整个窗口设置为不可见,以免自动生成的界面显示出来,然后逐个的获取你需要的部分(glade_xml_get_widget(...))。

技巧3

通常你的应用程序里都需要一个或者更多交互式的对话框,比如首选项对话框,这时使用 .glade 来构建这些对话框就显得格外方便,按照技巧1,2 的方法就可方便的实现。

技巧4

对于需要额外控制的控件(比如实时改变其属性等),你应该给他取一个能顾名思义的名字,然后在你的源代码中定义成宏,在需要应用它时,再根据这些宏来获取控件; 或者,在装载 .glade 文件后,把所有这类控件查询出来,以后直接引用,一劳永逸。


原文出处

http://www.gnome-cn.org/documents/tutorial/glade-advance-tutorial/glade-vs-libglade

没有评论: