- 1、本文档共45页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux下图形界面编程(基于GTK+) 制作人:卿继权 主要内容 1、GTK+的简介 2、GTK+在ubuntu下的安装 3、GTK+界面基本元件 4、GTK+界面布局元件 5、GTK+其它常用元件 6、信号与回调函数 7、Linux下并发服务器 8、利用多线程实现并发服务器 9、应用实例(Linux平台下的聊天应用程序) GTK+的简介: 许多在Linux下从事开发的程序员更喜欢 或着更习惯于用C语言,而GTK+是使用C语言作为开发语言的,它基于LGPL授权,因此GTK+的开发源代码而且完全免费的。Linux的桌面环境GNOME就是建立在GTK+的基础上。简单的说,GTK+就是用C语言编写的用于开发图形界面程序的函数库。GTK+来源于GIMP(GNU图像处理程序)GTK+在GDK基础上创建,对它进行封装。GTK+简单易用,设计良好,灵活而富有扩展性。它是自由软件,这意味着它不仅开发源代码,而且还可以免费使用。由于它使用C语言作为其开发语言,而C是跨平台的,因此GTK+几乎可以在任何操作系统上使用。GTK+是一种面向对象式的 API(applicationprogramming interface)。Glib是GTK+的基础,而这种“面向对象系统”正是由“Glib”来提供的。GTK+ 和以下“函数库”存在着依赖关系 * Glib * Pango * ATK * GDK * GdkPixbuf * Cairo GTK+的简介: Glib 是一种通用的函数库。她提供了各种各样的语言特性,譬如说:各种数据类型,字符串函数,错误通知,消息队列和线程。 Pango 是一种函数库,用来实现国际化和本地化的功能。 ATK一种平易近人的工具函数包,她提供了快捷键服务为肢体有缺陷的人使用电脑提供了便利。 GDK 是一种函数库,她为整个GTK+图形库系统提供了一些底层的“图形实现”和“窗口实现”的方法。 GdkPixbuf 函数库是一种函数库工具包用于加载图像和维护图像“缓存”的(pixel buffer)。 Cairo是一种函数库用于制作二维图像。从GTK+2.8版本以后,Cairo就正式成为GTK+系统中的一员了。 GTK+ 的优势 (1)简单易用 这一点应当很明显,但是它实际上含义丰富。工具包对用户应当容易,这样才有可能创建简单的、直觉的和乐于使用的界面,哪怕针对的是新手。创建人机交互的正确模型不是一项简单的任务,GTK+ 正是长时间工作的结果,而且是众多的甚至困难的决策的结果。 GTK+ 对于开发人员也易于使用。它允许开发人员用简单的方式说出自己想要的东西,不会用所谓正规方式给开发人员带来负担,这些正规方式是计算机为了弥补它们固有的缺乏想像力的缺陷而施加给人类的负担。 GTK+ 的优势 (2)设计良好、灵活和可扩展 编写 GTK+ 的方式允许在不扭曲基本设计的情况下,让维护人员添加新功能、让用户利用新功能。工具包也是可扩展的,这意味着可以向其中添加自己的块,并用使用内置块一样的方式使用它们。例如,可以编写自己的控制元素,比如说用于显示应用程序处理的科学数据,并让它正确地遵照用户选择的显示风格,就像 GTK+ 自身的控件那样。 更进一步,GTK+ 是可定制的,这样就可以让它适应自己的需求。GTK+ 有一个系统,可以在所有应用程序之间复制设置,包括主题的选择。主题 是一组一同发布的定制设置,会影响 GTK+ 使用的基本控件看起来的效果,甚至某种程度上的行为方式。使用主题,可以(例如)模拟另一个操作系统的观感。 GTK+ 的优势 (3)带有自由开放源码许可的自由软件 自由软件 意味着每个人不仅可以自由地获得和使用这个工具包,还可以在满足某些条件的情况下修改并重新发布它。自由开放源码许可 意味着这些条件不是严格限制的,可以得到的自由程度是显著的。最重要的是,GTK+ 采用了 Lesser General Public License (LGPL) 许可,这是 GNU 许可家族中一个不太严格的许可。LGPL 允许自由地获取、修改和发布它覆盖的任何软件,只要对修改也保持自由即可。LGPL 还允许任何人使用该库提供的功能,而不 要求用户公开应用程序代码。(这对于许多工业应用来说很重要,因为由于以前的协议或许可,这种场合下一般不希望公开代码或者公开代码是显然不现实的。)使用 LGPL 许可,您既可以是开放源码社区的好伙伴也可以是好公民。 GTK+ 的优势 (4)可移植 最后(但并不是最不重要),GTK+ 是可移植的。这意味着用户可以在许多平台和系统上运行它。另一方面,开发人员可以把软件提供给众多用户,却只要编写一次程序,还可以使用许多不同的编程和开发平台、工具和编程语言
您可能关注的文档
- 心理压力管理的理论及技术(汪永光).ppt
- 第七章 2015年天津外国语大学非语言类专业外语考试说明考研真题,考研重点,真题解析.pdf
- 新时期中国茶旅一体化发展和前景分析.pdf
- 写作学教程(全)教材.ppt
- 第二章 班主任工作课件.ppt
- 02第一篇人力资源管理概说.ppt
- 第五章 CC2541 PA.pdf
- 网络营销基础及实践 冯英健.ppt
- 希夏邦马峰高山栎化石层的发现及其在植物学与地质学上的意义.pdf
- 第五章_群体与组织.ppt
- 制动系统的特点项目一58课件.pptx
- 直接工程费价外运杂费填料费铁路工程施工组织与概预算78课件.pptx
- 主备用控制中心的切换LCF300型25课件.pptx
- 智能交通系统的相关技术任务三车辆自动驾驶技术王怡安徽交通6.pptx
- 智能交通监控系统任务三城市交通诱导系统诱导系统的组成王怡安.pptx
- 智能交通监控系统任务二城市交通监控系统王怡安徽交通67课件.pptx
- 直升机的特点和分类空气动力学基础与飞行原理86课件.ppt
- 直升机的飞行性能空气动力学基础与飞行原理67课件.ppt
- 职业形象塑造3职业教育国际邮轮乘务管理专业教学化妆与形象设.pptx
- 轴向拉压杆件的线应变和胡克定律张亚琴河北交通52课件.pptx
文档评论(0)