用Glade 2开发图形用户界面
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Glade 快速体验
1.Glade 界面 Glade 安装好后,可以通过“应用程序”→“开发”→“Glade Interface Designer”来 启动,如图 1 所示。启动完毕后,我们会看到 3 个窗口:主窗口,调色板窗口和属性窗口。
图 1 启动 Glade 1.1 主窗口 当 Glade 启动完毕后,我们就看到如图 2 所示的主窗口。在主窗口里,我们可以新建工程、 打开工程、保存工程和联编工程。主窗口显示应用程序的最顶层对象,我们可以看到所创 建的每个独立窗口的列表,管理起来相当方便。要编辑某个对象,只需在主窗口的列表中 双击该对象,即可打开它。
图 6 新建工程 然后,我们打开“Project”→“Options”菜单,修改一下工程信息。这里给工程起名为 “gAlarm-1.0”,并选择项目将要存放的目录,如图 7 所示。
图 7 工程信息 单击“确定”,并在主界面上单击“保存”,这样一个 Glade 工程就建好了。我们可以到 保存的工程目录下看看是否生成了 gAlarm-1.0.glade 和 gAlarm-1.0.gladep 两个文件。 2.Eclipse 创建工程 如前所述,Eclipse 用来开发除界面以外的其他程序,编写、编译、调试程序,同时管理 整个工程文件。 同打开 Glade 一样,我们单击“应用程序”→“开发”→“Eclipse”来打开 Eclipse,启 动画面如图 8 所示。
● acconfig.h/autogen.sh/configure.in/Makefile.am/stamp-h.in 这些文件是 autoconf/autogen/automake 系统所必须的,在 Linux 下这个系统能 够自动编译并检查函数库依赖性。通常 Glade 用户只需输入./autogen.sh 来配置 他们的程序以及生成所需的 Makefile 文件。如果工程需要一个特定的库,这个库 将会加入配置文件或生成的 Makefile 文件中。
● Project1.glade ● Project1.gladep “Project1”是你在工程选项中给工程起的名字。这两个文件其实都是一些 XML 代码, 用来描述程序界面和工程信息,Glade 或 libglade 正是通过这些 XML 代码来生成 C 语言 格式的界面代码。
2.2 联编工程时 当按下主窗口的联编(Build)按钮时,Glade 产生用来生成图形用户界面的所有文件。如果 你了解 Linux 下编译程序的知识,这些文件还是很好理解的。 在 Project# 目录下
当 Damon Chaplin 写出 Glade 这一图形用户界面开发工具后,这一切变得可能了。 Glade 是一个构建 GTK+/Gnome 程序界面的工具,它是所见即所得的,同微软的 Visual Studio 中的界面设计工具类似。Glade 的设计初衷就是要把 GTK+/Gnome 程序的界面描 述从源代码中分离出来,她使用.glade 文件来描述程序界面,这样的好处是使得后期修改 程序界面变得非常容易,只需要使用 Glade 来调整界面,而无需对源程序做改动。这对于 构建大型软件来说,是相当重要的。
图 3 调色板窗口
1.3 属性窗口 属性窗口用于调节和设置控件的属性,如图 4 所示。我们可以给每个主要控件一个特别的 名字,还可以设置缺省大小,确定能否编辑,确定能否被鼠标点击等。其中控件的名字和 标题比较有用。
图 4 属性窗口 属性窗口有五个标签页:控件、打包、通用、信号和可访问性(有国际通行的残疾人士标 志)。每个标签页的细节会根据控件类型的不同而做不同的显示。简单的说,“控件”标 签页可以设置控件的名称和外观;“打包”标签页能让控件在容器内移动,以及设置当改 变窗口尺寸时控件如何扩展和缩短;“通用”标签页可以设置更多的细节参数,如固定一 个窗口的大小等;“信号”标签页比较重要,它可以为每一个希望捕获的信号设置回调函 数或信号处理器;“可访问性”标签页在 Glade 2 中第一次出现,通过发音合成器,残疾 人可以更加容易地使用你的程序。 1.4 控件树窗口 在主窗口的“查看”菜单中可以找到控件树窗口,默认情况下它不打开。控件树窗口列出 程序使用的所有控件、它们的名称和从属关系树,如图 5 所示。右键单击树中的任何控件 可以选择它,并可进行剪切、复制、删除等操作。如果程序需要重建,这样可以很简单地 移动控件,而不需要重做名称、信号处理器、 尺寸选项等等。需要注意的是如果把控件 从一个地方拷到另一个地方,新控件将有缺省的名字和值。因为每一个控件必须有一个唯 一的名字。
图 2 Glade 主窗口 在主窗口的菜单中,“Project”菜单、“编辑”菜单和“帮助”菜单含义比较明显。通 过“查看”菜单,我们可以看到关于该工程的其他几个窗口,其中属性窗口和控件树窗口 比较有用。“设置”菜单可以改变网格和控件的显示方式,按个人爱好做相应设置。 1.2 调色板窗口 在调色板窗口中,包含了绝大多数 GTK+/Gnome 控件,如图 3 所示。可以单击 “GTK+Basic”、“GTK+Additional”、“Gnome”和“Deprecated”按钮进行切换。 用鼠标单击调色板上的控件,再在窗口上单击,就可以将控件添加到该窗口上。需要注意 的是,在窗口上添加控件也要遵循控件组装原则,即必须先选择一个窗口做为容纳该控件 的地方。
本文就通过一个具体的应用实例“Gnome 闹钟 gAlarm”的制作来和大家分享 Glade 开 发和应用的经验,期望起到抛砖引玉的作用。
开发工具
1.Glade Glade 项目诞生于 1998 年,其最初的目的是为 Gnome 提供一个功能强大的图形用户界 面开发工具。刚推出时反应热烈,此后一直基于 GPL 向前开发,到 2002 年时推出了 1.0 正式版,目前最新版本为 2.12 系列。由于快速开发的高效性和易用性,Glade 被视为 Linux 下最有前途的快速应用程序开发(RAD)工具。
2.Eclipse 由于 Glade 只是一个图形用户界面开发工具,不能算是一个完整的集成开发环境(IDE),
即 Glade 不能进行代码编辑和项目管理,因此需要一个图形化的集成开发环境来进行开发、 调试和管理程序。这里,笔者推荐一套强大的软件集成开发环境-Eclipse。 Eclipse 是一套由 IBM、Borland 等资助开发的、开放源代码的集成开发环境,它支持多 种开发语言,集成了代码编辑、编译、调试和项目管理等多种功能,并且采用插件方式进 行功能扩充,相当方便。Eclipse 可以到其官方网站 http://www.eclipse.org/下载。关于 Eclipse 的安装已超出本文的范畴,读者可以参考相关文章。现在的 Linux 发行版一般带 有 Eclipse,如果选择了软件开发的话,应该就可以用了,例如笔者的 Fedora Core 5 就 带有最新的 Eclipse 3.1.2 和 CDT 3.0.2(C/C++开发工具)。
图 5 控件பைடு நூலகம்窗口
2.Glade 生成的文件 2.1 保存工程时 当你设计好程序界面后,在主窗口中单击保存按钮时,Glade 将会在工程选项中指定的目 录下保存两个文件。默认情况下,Glade 会将工程文件保存在个人用户目录下的/Projects 子目录下,工程名为“Project#”,#是一个数字,与你所建工程数量有关。一般我们用 程序名替换 Project#。保存工程时创建的两个文件是:
在 Project#/src 目录下 ● main.c 这个文件是程序的主文件,它包含了 C 程序的初始化函数 main()。只有当这个文 件不存在时 Glade 才创建,因此你可以随意编辑。当 Glade 第一次生成 main.c 文 件时,它允许显示所有创建的窗口。如果想在程序开始时只显示一个窗口需要编辑 这个文件。 ● support.c 包含 Glade 支持函数,不能编辑。里面最有用的函数是 lookup_widget(),允许通 过另一个控件的名字查找特定控件(假定它们在一个控件树中,比如在同一个窗口 里等)。 ● callbacks.c 由 Glade 所写的所有回调函数和信号处理器。Glade 不重写这个文件,不过当需要 更多的回调函数会向其中追加。Glade 只写出了空的回调函数,因此需要开发者自 己加入实现代码。 ● interface.c 很像 support.c,也不能编辑。Glade 在里面写了生成 GUI 的函数。没有必要编辑 它,如果编辑过,下次联编程序时 Glade 又会重写。 ● Makefile.am/Makefile.in/Makefile 这些文件由 automake/autoconf 包创建,为 gcc 编译程序提供指导。在这里可以 加入包含的库、新的资源文件等等。
图 9 创建 Eclipse 工程
创建应用程序
Gnome 闹钟 gAlarm 是一个可以进行事件提醒和执行命令的程序,例如:提醒适当的时 候做什么事,或在特定的时间执行想要的命令,比如打开某个软件、定时关机等。在 KDE 下已经有类似的软件 KAlarm,通过分析 KAlarm,我们得出即将创建的应用程序 gAlarm 至少应该有以下功能:
图 8 Eclipse 启动 下面我们创建一个 Eclipse 工程,共需要两步。第一步,在 Eclipse 中单击“File”→
“New”→ “Project”,出现图 9 所示的对话框,选择“Standard Make C Project”, 然后单击“Next”;第二步,填入工程名,这里我们与上面一致,填写“gAlarm1.0”,同时将下面的保存目录设置为和上面 Glade 的保存目录一致,这一点很重要,因 为这是同一个工程。最后单击“Finish”,这样一个完整的 Eclipse 工程就建好了,其实 Eclipse 也只是建立两个 XML 格式的文件来描述工程而已,它们对用户是隐藏的。
● AUTHORS/ChangeLog/README/NEWS 当程序发布时将会用到这些文件。它们是标准分发文件,与具体的程序相关。
● Macros 子目录 这个子目录保存了 autoconf 和 autogen 等系统所需的宏。一定不要把它弄乱了。
● po 子目录 存有 po 翻译文件。如果不用 gettext 来使你的程序国际化,就不用管它。
Glade 的官方主页在 http://glade.gnome.org,读者可以去那里下载最新的 Glade 源代 码包进行编译安装。由于 Glade 高度依赖于 GTK+/Gnome,因此编译 Glade 时需要高版 本的 GTK+/Gnome 库,否则将很难成功。不过,现在一般的 Linux 发行版应该都自带了 Glade,如果安装操作系统时选择了这一开发工具,那么就可以直接使用了,免去了安装 的麻烦,这里就不详细介绍其安装方法了。
本文重点介绍 Linux 下的图形用户界面开发工具 Glade,并通过实例一步步地介绍如 何利用其进行 GUI 应用程序开发。
用 Glade 2 开发图形用户界面
作者:施小祥 日期:2006 年 4 月 8 日
以前在 Linux 下开发图形用户界面程序比较难,当 GTK+/Gnome 函数库出现后,这件事 就容易多了。毫无疑问,使用 GTK+/Gnome 函数库中定义的控件进行编程的概念并不难。 但使用这些函数出现了一些困难:首先是创建程序界面的代码是非常繁琐的,特别是在使 用不同的布局控件组装界面元素,创建菜单、工具条时,不能在编写代码时直接看到界面 效果;其次是对于构建大型的软件项目,代码量非常大,Makefile 也不容易写。所以迫切 需要一种工具,能够将开发人员从编写界面代码和 Makefile 的工作中解放出来,而专注 于编写事件处理代码的工作。
快速浏览过 Glade 后,笔者将通过一个具体的实例“Gnome 闹钟 gAlarm”的制作来介 绍如何使用 Glade。
创建开发环境
1.Glade 创建工程 如图 1 那样打开 Glade 后,单击“Project”→“新建”菜单,出现如图 6 那样的新建工 程对话框。我们选择“New Gnome Project”,这样可以使用易用的 Gnome 控件。
1.Glade 界面 Glade 安装好后,可以通过“应用程序”→“开发”→“Glade Interface Designer”来 启动,如图 1 所示。启动完毕后,我们会看到 3 个窗口:主窗口,调色板窗口和属性窗口。
图 1 启动 Glade 1.1 主窗口 当 Glade 启动完毕后,我们就看到如图 2 所示的主窗口。在主窗口里,我们可以新建工程、 打开工程、保存工程和联编工程。主窗口显示应用程序的最顶层对象,我们可以看到所创 建的每个独立窗口的列表,管理起来相当方便。要编辑某个对象,只需在主窗口的列表中 双击该对象,即可打开它。
图 6 新建工程 然后,我们打开“Project”→“Options”菜单,修改一下工程信息。这里给工程起名为 “gAlarm-1.0”,并选择项目将要存放的目录,如图 7 所示。
图 7 工程信息 单击“确定”,并在主界面上单击“保存”,这样一个 Glade 工程就建好了。我们可以到 保存的工程目录下看看是否生成了 gAlarm-1.0.glade 和 gAlarm-1.0.gladep 两个文件。 2.Eclipse 创建工程 如前所述,Eclipse 用来开发除界面以外的其他程序,编写、编译、调试程序,同时管理 整个工程文件。 同打开 Glade 一样,我们单击“应用程序”→“开发”→“Eclipse”来打开 Eclipse,启 动画面如图 8 所示。
● acconfig.h/autogen.sh/configure.in/Makefile.am/stamp-h.in 这些文件是 autoconf/autogen/automake 系统所必须的,在 Linux 下这个系统能 够自动编译并检查函数库依赖性。通常 Glade 用户只需输入./autogen.sh 来配置 他们的程序以及生成所需的 Makefile 文件。如果工程需要一个特定的库,这个库 将会加入配置文件或生成的 Makefile 文件中。
● Project1.glade ● Project1.gladep “Project1”是你在工程选项中给工程起的名字。这两个文件其实都是一些 XML 代码, 用来描述程序界面和工程信息,Glade 或 libglade 正是通过这些 XML 代码来生成 C 语言 格式的界面代码。
2.2 联编工程时 当按下主窗口的联编(Build)按钮时,Glade 产生用来生成图形用户界面的所有文件。如果 你了解 Linux 下编译程序的知识,这些文件还是很好理解的。 在 Project# 目录下
当 Damon Chaplin 写出 Glade 这一图形用户界面开发工具后,这一切变得可能了。 Glade 是一个构建 GTK+/Gnome 程序界面的工具,它是所见即所得的,同微软的 Visual Studio 中的界面设计工具类似。Glade 的设计初衷就是要把 GTK+/Gnome 程序的界面描 述从源代码中分离出来,她使用.glade 文件来描述程序界面,这样的好处是使得后期修改 程序界面变得非常容易,只需要使用 Glade 来调整界面,而无需对源程序做改动。这对于 构建大型软件来说,是相当重要的。
图 3 调色板窗口
1.3 属性窗口 属性窗口用于调节和设置控件的属性,如图 4 所示。我们可以给每个主要控件一个特别的 名字,还可以设置缺省大小,确定能否编辑,确定能否被鼠标点击等。其中控件的名字和 标题比较有用。
图 4 属性窗口 属性窗口有五个标签页:控件、打包、通用、信号和可访问性(有国际通行的残疾人士标 志)。每个标签页的细节会根据控件类型的不同而做不同的显示。简单的说,“控件”标 签页可以设置控件的名称和外观;“打包”标签页能让控件在容器内移动,以及设置当改 变窗口尺寸时控件如何扩展和缩短;“通用”标签页可以设置更多的细节参数,如固定一 个窗口的大小等;“信号”标签页比较重要,它可以为每一个希望捕获的信号设置回调函 数或信号处理器;“可访问性”标签页在 Glade 2 中第一次出现,通过发音合成器,残疾 人可以更加容易地使用你的程序。 1.4 控件树窗口 在主窗口的“查看”菜单中可以找到控件树窗口,默认情况下它不打开。控件树窗口列出 程序使用的所有控件、它们的名称和从属关系树,如图 5 所示。右键单击树中的任何控件 可以选择它,并可进行剪切、复制、删除等操作。如果程序需要重建,这样可以很简单地 移动控件,而不需要重做名称、信号处理器、 尺寸选项等等。需要注意的是如果把控件 从一个地方拷到另一个地方,新控件将有缺省的名字和值。因为每一个控件必须有一个唯 一的名字。
图 2 Glade 主窗口 在主窗口的菜单中,“Project”菜单、“编辑”菜单和“帮助”菜单含义比较明显。通 过“查看”菜单,我们可以看到关于该工程的其他几个窗口,其中属性窗口和控件树窗口 比较有用。“设置”菜单可以改变网格和控件的显示方式,按个人爱好做相应设置。 1.2 调色板窗口 在调色板窗口中,包含了绝大多数 GTK+/Gnome 控件,如图 3 所示。可以单击 “GTK+Basic”、“GTK+Additional”、“Gnome”和“Deprecated”按钮进行切换。 用鼠标单击调色板上的控件,再在窗口上单击,就可以将控件添加到该窗口上。需要注意 的是,在窗口上添加控件也要遵循控件组装原则,即必须先选择一个窗口做为容纳该控件 的地方。
本文就通过一个具体的应用实例“Gnome 闹钟 gAlarm”的制作来和大家分享 Glade 开 发和应用的经验,期望起到抛砖引玉的作用。
开发工具
1.Glade Glade 项目诞生于 1998 年,其最初的目的是为 Gnome 提供一个功能强大的图形用户界 面开发工具。刚推出时反应热烈,此后一直基于 GPL 向前开发,到 2002 年时推出了 1.0 正式版,目前最新版本为 2.12 系列。由于快速开发的高效性和易用性,Glade 被视为 Linux 下最有前途的快速应用程序开发(RAD)工具。
2.Eclipse 由于 Glade 只是一个图形用户界面开发工具,不能算是一个完整的集成开发环境(IDE),
即 Glade 不能进行代码编辑和项目管理,因此需要一个图形化的集成开发环境来进行开发、 调试和管理程序。这里,笔者推荐一套强大的软件集成开发环境-Eclipse。 Eclipse 是一套由 IBM、Borland 等资助开发的、开放源代码的集成开发环境,它支持多 种开发语言,集成了代码编辑、编译、调试和项目管理等多种功能,并且采用插件方式进 行功能扩充,相当方便。Eclipse 可以到其官方网站 http://www.eclipse.org/下载。关于 Eclipse 的安装已超出本文的范畴,读者可以参考相关文章。现在的 Linux 发行版一般带 有 Eclipse,如果选择了软件开发的话,应该就可以用了,例如笔者的 Fedora Core 5 就 带有最新的 Eclipse 3.1.2 和 CDT 3.0.2(C/C++开发工具)。
图 5 控件பைடு நூலகம்窗口
2.Glade 生成的文件 2.1 保存工程时 当你设计好程序界面后,在主窗口中单击保存按钮时,Glade 将会在工程选项中指定的目 录下保存两个文件。默认情况下,Glade 会将工程文件保存在个人用户目录下的/Projects 子目录下,工程名为“Project#”,#是一个数字,与你所建工程数量有关。一般我们用 程序名替换 Project#。保存工程时创建的两个文件是:
在 Project#/src 目录下 ● main.c 这个文件是程序的主文件,它包含了 C 程序的初始化函数 main()。只有当这个文 件不存在时 Glade 才创建,因此你可以随意编辑。当 Glade 第一次生成 main.c 文 件时,它允许显示所有创建的窗口。如果想在程序开始时只显示一个窗口需要编辑 这个文件。 ● support.c 包含 Glade 支持函数,不能编辑。里面最有用的函数是 lookup_widget(),允许通 过另一个控件的名字查找特定控件(假定它们在一个控件树中,比如在同一个窗口 里等)。 ● callbacks.c 由 Glade 所写的所有回调函数和信号处理器。Glade 不重写这个文件,不过当需要 更多的回调函数会向其中追加。Glade 只写出了空的回调函数,因此需要开发者自 己加入实现代码。 ● interface.c 很像 support.c,也不能编辑。Glade 在里面写了生成 GUI 的函数。没有必要编辑 它,如果编辑过,下次联编程序时 Glade 又会重写。 ● Makefile.am/Makefile.in/Makefile 这些文件由 automake/autoconf 包创建,为 gcc 编译程序提供指导。在这里可以 加入包含的库、新的资源文件等等。
图 9 创建 Eclipse 工程
创建应用程序
Gnome 闹钟 gAlarm 是一个可以进行事件提醒和执行命令的程序,例如:提醒适当的时 候做什么事,或在特定的时间执行想要的命令,比如打开某个软件、定时关机等。在 KDE 下已经有类似的软件 KAlarm,通过分析 KAlarm,我们得出即将创建的应用程序 gAlarm 至少应该有以下功能:
图 8 Eclipse 启动 下面我们创建一个 Eclipse 工程,共需要两步。第一步,在 Eclipse 中单击“File”→
“New”→ “Project”,出现图 9 所示的对话框,选择“Standard Make C Project”, 然后单击“Next”;第二步,填入工程名,这里我们与上面一致,填写“gAlarm1.0”,同时将下面的保存目录设置为和上面 Glade 的保存目录一致,这一点很重要,因 为这是同一个工程。最后单击“Finish”,这样一个完整的 Eclipse 工程就建好了,其实 Eclipse 也只是建立两个 XML 格式的文件来描述工程而已,它们对用户是隐藏的。
● AUTHORS/ChangeLog/README/NEWS 当程序发布时将会用到这些文件。它们是标准分发文件,与具体的程序相关。
● Macros 子目录 这个子目录保存了 autoconf 和 autogen 等系统所需的宏。一定不要把它弄乱了。
● po 子目录 存有 po 翻译文件。如果不用 gettext 来使你的程序国际化,就不用管它。
Glade 的官方主页在 http://glade.gnome.org,读者可以去那里下载最新的 Glade 源代 码包进行编译安装。由于 Glade 高度依赖于 GTK+/Gnome,因此编译 Glade 时需要高版 本的 GTK+/Gnome 库,否则将很难成功。不过,现在一般的 Linux 发行版应该都自带了 Glade,如果安装操作系统时选择了这一开发工具,那么就可以直接使用了,免去了安装 的麻烦,这里就不详细介绍其安装方法了。
本文重点介绍 Linux 下的图形用户界面开发工具 Glade,并通过实例一步步地介绍如 何利用其进行 GUI 应用程序开发。
用 Glade 2 开发图形用户界面
作者:施小祥 日期:2006 年 4 月 8 日
以前在 Linux 下开发图形用户界面程序比较难,当 GTK+/Gnome 函数库出现后,这件事 就容易多了。毫无疑问,使用 GTK+/Gnome 函数库中定义的控件进行编程的概念并不难。 但使用这些函数出现了一些困难:首先是创建程序界面的代码是非常繁琐的,特别是在使 用不同的布局控件组装界面元素,创建菜单、工具条时,不能在编写代码时直接看到界面 效果;其次是对于构建大型的软件项目,代码量非常大,Makefile 也不容易写。所以迫切 需要一种工具,能够将开发人员从编写界面代码和 Makefile 的工作中解放出来,而专注 于编写事件处理代码的工作。
快速浏览过 Glade 后,笔者将通过一个具体的实例“Gnome 闹钟 gAlarm”的制作来介 绍如何使用 Glade。
创建开发环境
1.Glade 创建工程 如图 1 那样打开 Glade 后,单击“Project”→“新建”菜单,出现如图 6 那样的新建工 程对话框。我们选择“New Gnome Project”,这样可以使用易用的 Gnome 控件。