首页| 行业标准| 论文文档| 电子资料| 图纸模型
购买积分 购买会员 激活码充值

您现在的位置是:团子下载站 > 其他 > GTK+2.0中文教程

GTK+2.0中文教程

  • 资源大小:555
  • 上传时间:2021-07-21
  • 下载次数:0次
  • 浏览次数:96次
  • 资源积分:1积分
  • 标      签: GTK

资 源 简 介

GTK (GIMP Toolkit) 是一套用于创建图形用户界面的工具包。它遵循 LGPL 许可证,所以你可以用它来开发开源软件、自由软件,甚至是封闭源代码的商业软件,而不用花费任何钱来购买许可证和使用权。 GTK 被称为 GIMP 工具包是因为最初写它是用来开发 GIMP (GNU 图像处理程序) 的,但是它现在已经被用于很多软件项目了,包括 GNOME (GNU 网络对象模型环境)。GTK 是在 GDK (GIMP Drawing Kit) 和 gdk-pixbuf 的基础上建立起来的,GDK 基本上是对访问窗口的底层函数 (在 X 窗口系统中是 Xlib) 的一层封装,gdk-pixbuf 是一个用于客户端图像处理的库。 GTK 实质上是一个面向对象的应用程序接口 (API)。尽管完全用 C 写成的,但它是基于类和回调函数 (指向函数的指针) 的思想实现的。 还有一个名为 GLib 的第三个组件,包含一些标准函数的替代函数,以及一些处理链表等数据结构的函数等。这些替代函数被用来增强GTK 的可移植性,因为它们所实现的一些函数在其它 Unix 系统上未实现或不符合标准,比如 g_strerror()。一些是对 libc 的对应函数的增强,比如 g_malloc() 具有增强的调试功能。 在 2.0 版中,GLib 又加入这样一些新内容:构成 GTK 类层次基础的类型系统 (type system),在 GTK 中广泛使用的信号系统,对各种不同平台的线程 API 进行抽象而得的一个线程 API,以及一个加载模块的工具。 作为最后一个组件,GTK 使用了 Pango 库来处理国际化文字输出。 本教程讲述 GTK 的 C 接口。还有许多其它语言的 GTK 绑定如 C++、Perl、Python、TOM、Ada95、ObjecTIve C、Free Pascal、Eiffel、Java 和 C#。如果你想使用 GTK 其它语言的绑定,请先查看该绑定的文档。有时这些文档会讲一些重要的概念,然后你再来参考本教程。还有一些跨平台的 API (如 wxWindows 和 V),它们把 GTK 作为一个支持的平台。同样,先参考它们的文档。 如果你用 C++ 来开发 GTK 应用程序,有以下几点需要注意。已有一个 GTK 的 C++ 绑定叫做 GTK-- (译者注:现在叫做 gtkmm),提供一个更符合 C++ 规范的接口,你可以先看看这个接口。如果你由于种种原因不喜欢这种方法,还有另外两种使用 GTK 的方法。首先,你可以只使用 C++ 中的 C 子集来调用 GTK,这样就可以使用本教程描述的 C 接口。其次,你可以用下述方法同时使用 GTK 和 C++:把所用的回调函数定义为 C++ 类中的静态成员函数,然后仍然使用 C 接口来调用 GTK。如果你选择后一种方法,你可以把指向要操作的对象的指针 (即所谓的 "this")作为回调函数的 data 参数。选择哪一种方法仅仅是个人的喜好问题,因为不管用哪一种方法,你都会得到 C++ 和 GTK。它们都不需要特殊的预处理程序,因此你可以同时使用标准 C++ 和 GTK。 本教程试图尽可能详细地描述 GTK,但是肯定不能面面俱到。本教程假设你能够较好的理解 C 语言,并且了解怎样编写一个 C 程序。有 X 编程经验会很有帮助,但不是必要条件。如果 GTK 是你学习的第一个构件工具包,请告诉我们你怎样找到这个教程,以及学习时有什么困难。还有其它一些语言的绑定,如 C++、ObjecTIve C、ADA、Guile 等,但我不了解这些。 用 GTK 来写 Hello World编译 Hello World 程序信号和回调函数的原理事件Hello World 详解继续数据类型深入探索信号处理函数改进了的 Hello World组装构件组装盒的原理盒的细节组装示范程序用表组装表组装示例构件概述类型转换构件的组织无窗口构件按钮构件一般按钮 Normal Buttons开关按钮 Toggle Buttons复选按钮 Check Buttons单选按钮 Radio Buttons调整对象 Adjustments创建一个调整对象轻松使用调整对象“调整对象”的内部机制范围构件 Range Widgets滚动条构件 Scrollbar Widgets比例构件 Scale Widgets创建一个比例构件函数和信号(至少讲了函数)常用的范围函数设置更新方式获得和设置调整对象键盘和鼠标绑定示例杂项构件标签 Labels箭头 Arrows工具提示对象 The ToolTIps Object进度条 Progress Bars对话框 Dialogs标尺 Rulers状态栏 Statusbars文本输入构件 Text Entries微调按钮 Spin Buttons组合框 Combo Box日历 Calendar颜色选择 Color SelecTIon文件选择 File Selections容器构件 Container Widgets事件盒 The EventBox对齐构件 The Alignment widget固定容器 Fixed Container布局容器 Layout Container框架 Frames比例框架 Aspect Frames分栏窗口构件 Paned Window Widgets视角 Viewports滚动窗口 Scrolled Windows按钮盒 Button Boxes工具栏 Toolbar笔记本 Notebooks菜单构件手工创建菜单手工菜单示例使用套件套件示例无文档构件快捷标签 Accel Label选项菜单 Option Menu菜单项 Menu Items复选菜单项 Check Menu Item单选菜单项 Radio Menu Item分隔菜单项 Separator Menu Item分离菜单项 Tearoff Menu Item曲线图 Curves绘图区 Drawing Area字体选择对话框 Font Selection Dialog消息对话框 Message DialogGamma 曲线图图像 Image插头和插座 Plugs and Sockets树视区 Tree View文本视区 Text View设置构件的属性超时、IO 和 Idle 函数超时 Timeouts监控IOIdle 函数高级事件和信号处理信号函数连接和断开信号处理函数阻塞和反阻塞信号处理函数发出和停止信号信号的发射和传播操作选中区概述获取选中区信息提供选中区拖放概述属性函数设置源构件源构件上的信号设置目的构件目的构件上的信号GLib定义双向链表单向链表存储管理计时器字符串处理实用程序和错误处理函数GTK 的 rc 文件rc 文件的功能GTK rc 文件的格式rc 文件示例编写你自己的构件概述一个构件的剖析创建一个复合构件介绍选择一个父类头文件_get_type() 函数_class_init() 函数_init() 函数其余的...从头创建构件介绍在屏幕上显示构件表盘构件的原形主体gtk_dial_realize()大小磋商gtk_dial_expose()事件处理可能的增强深入的学习涂鸦板,一个简单的绘图程序概述事件处理绘图区构件和绘图添加XInput支持允许扩展设备信息使用扩展设备信息得到更多关于设备的信息进一步的讲解编写 GTK 应用程序的技巧投稿鸣谢教程的版权和许可声明GTK 信号GtkObjectGtkWidgetGtkDataGtkContainerGtkCalendarGtkEditableGtkNotebookGtkListGtkMenuShellGtkToolbarGtkButtonGtkItemGtkWindowGtkHandleBoxGtkToggleButtonGtkMenuItemGtkCheckMenuItemGtkInputDialogGtkColorSelectionGtkStatusBarGtkCurveGtkAdjustmentGDK 事件类型示例程序代码Tictactoetictactoe.htictactoe.cttt_test.cGtkDialgtkdial.hgtkdial.cdial_test.cScribblescribble-simple.cscribble-xinput.c术语表
VIP VIP