linux应用程序开发指南之21-21.pdf

linux应用程序开发指南之21-21.pdf

ID:57792065

大小:538.98 KB

页数:22页

时间:2020-04-03

linux应用程序开发指南之21-21.pdf_第1页
linux应用程序开发指南之21-21.pdf_第2页
linux应用程序开发指南之21-21.pdf_第3页
linux应用程序开发指南之21-21.pdf_第4页
linux应用程序开发指南之21-21.pdf_第5页
资源描述:

《linux应用程序开发指南之21-21.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、下载附录CGtk+/Gnome对象总览本书所介绍的对象只是Gtk+/Gnome对象中的一部分。还有很多有趣的内容因为篇幅的原因没有涉及。同时,Gtk+/Gnome也是在不断发展的。有一些构件现在使用得很广泛,也许今后版本会推出一个功能更多,更稳定的新构件。有些构件现在还是实验性的,今后也许会变成正式的构件。本附录是Gtk+和Gnome对象层次的快速教程。它包含Gtk+和Gnome库中的GtkObject对象和它所有的子类,每个对象有一个简要的描述以及该对象的头文件。这些有助于为特定的任务选用合适的

2、构件。每个对象都列出了它的头文件。不过在程序中包含gtk.h就可以包含所有的Gtk+头文件,使用gnome.h头文件就可以包含所有的其他头文件。一些对象被描述为“抽象基类”意指只有该对象的子类才能实例化,但是所有的子类都可以由它的基类接口来操纵。作为通行的规则,应该尽可能使用最有针对性的对象。也就是,可以用一个GtkWindow作为应用程序的主窗口,但是GnomeApp才是更好的选择。可以用GnomeDialog做一个“关于”对话框,但是最好还是使用GnomeAbout。这能够最大程度保证用户界面

3、的一致性,也可以省一些事。Gtk+和Gnome都带一个“test”程序,分别称为testgtk和test-gnome。这些程序用于测试每个库中的构件和其他的特性。它们也是优秀的示例代码来源,同时还是一个浏览可用构件并选用合适构件的好方法。C.1GtkObject库:Gtk+头文件:gtk/gtkobject.h描述:GtkObject是Gtk+的对象层次的基础。它不是一个图形化的组件。它实现了引用数、连接键/值对到对象上,以及对象解构(按C++术语,“虚解构的函数”)等接口。GtkObject本身

4、在Gtk+对象系统中起着很重要的作用。Gtk+的信号/回调函数的基础结构是工作在GtkObject对象上的,也就是,信号是由特定的GtkObject对象引发的,回调函数连接到特定的对象和信号。C.2构件构件也是Gtk+之所以存在的理由。构件是GtkWidget的子类,GtkWidget是GtkObject的子类。一个构件代表了屏幕上的一个矩形区域,它也许是纯粹装饰性的,交互式的控件,或者是一个控制子构件排列的容器。1.GtkWidget库:Gtk+附录CGtk+/Gnome对象总览使用307下载头

5、文件:gtk/gtkwidget.h描述:GtkWidget是所有构件的父类。GtkWidget是一个抽象基类。2.GtkContainer库:Gtk+头文件:gtk/gtkcontainer.h描述:是能包含其他构件的抽象基类。3.GtkBin库:Gtk+头文件:gtk/gtkbin.h描述:GtkBin是只能包含一个子构件的容器的抽象基类。它提供了GtkContainer接口的缺省实现方法,所以为它创建子类是非常容易的。4.GtkWindow库:Gtk+头文件:gtk/gtkwindow.h描

6、述:GtkWindow代表一个顶级对话框和应用程序窗口。作为Gtk+中的主要顶级构件,它有很多特殊的职责,例如,它维护了当前的键盘焦点并决定它自己的尺寸分配(而不是从它的父构件接收)。典型情况下,Gnome应用程序用GnomeApp构件作为应用程序的主窗口,充分利用它的附加功能。对对话框,在Gnome应用程序中应该使用GnomeDialog,对Gtk+应用程序使用GtkDialog构件。当然还有几个特制的对话框子类可以使用。如果没有合适的GtkWindow子类,可以直接使用GtkWindow窗口。

7、警告:如果接收到“delete_event”信号,GtkWindow会被自动销毁。要防止这种情形发生,必须设置一个新的要运行的信号处理程序,并且信号处理程序必须返回TRUE。这是很常见的Gtk+程序错误。GnomeDialog构件将有助于处理这种情况。让GtkWindow作为最后调用gtk_widget_show()显示的构件是一个好主意。大多数构件直到它们的父构件容器映射到屏幕(放到屏幕上)才会实际映射到屏幕上。但是GtkWindow没有父构件,它会立即出现在屏幕上。所以如果在窗口显示之后再显示

8、它的子构件,将会看到屏幕闪烁。5.GnomeDialog库:Gnome头文件:libgnomeui/gnome-dialog.h描述:在Gnome应用程序中所有的对话框都应该使用GnomeDialog(或其子类)构件。如果没有使用Gnome,GnomeDialog构件还是很有用的,因为它真正实现了一个对话框必须有的所有基本特性。强烈建议研究GnomeDialog的源代码(如果应用程序是基于GPL的,甚至还可以剪切和粘贴其中的代码)。6.GnomeAbout库:Gnome头文件:li

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。