GTK+介绍

举报
yd_221104950 发表于 2020/12/03 00:07:53 2020/12/03
【摘要】 GTK+是一个用于创建用户图形界面的库。它可以运行在类UNIX、Windows、OS X等平台上。GTK+有一个基于C语言的面向对象构架。GTK+库是用C语言写的。 最初,GTK+库是GIMP图形处理程序的套件。从那时起,GTK+库在Linux和BSD Unix平台上迅速流行起来。目前,GTK+可以绑定很多其他语言来进行开发,包括C++, Objective-C, G...

GTK+是一个用于创建用户图形界面的库。它可以运行在类UNIX、Windows、OS X等平台上。GTK+有一个基于C语言的面向对象构架。GTK+库是用C语言写的。

最初,GTK+库是GIMP图形处理程序的套件。从那时起,GTK+库在Linux和BSD Unix平台上迅速流行起来。目前,GTK+可以绑定很多其他语言来进行开发,包括C++, Objective-C, Guile/Scheme, Perl, Python, TOM, Ada95, Free Pascal, and Eiffel。很多开源的GUI软件都是使用Qt或GTK+库来开发的。

GTK+依赖以下这些库:

  • GObject:这个库提供类型系统、基本类型集合(包括对象类型、信号系统)

  • GIO:一个现代的,易用的VFS API,包括文件抽象、驱动、卷、流IO、网络编程和DBus通信

  • cairo:这是一个2D图形库,支持多种输出设备

  • Pango:这是一个国际化文本处理库

  • ATK:这是一个访问工具,它提供了一套通用的接口,允许访问技术与图形用户界面交互。如,看不见的人通过ATK可以发现屏幕上的文本并阅读它。 GTK+控件内置支持使用ATK框架

  • GdkPixbuf:这个库允许我们创建图片数据或图片文件的GdkPixbuf (像素缓冲区)对象。GdkPixbuf与GtkImage组合使用,可以用于显示图片

  • GLib:这是一个通用库。glib是GDK、GTK+、GNOME应用程序使用的C函数、宏、结构的库。它提供很多有用的数据类型、宏、类型转化、字符串工具、文件功能和一个主循环抽象等。功能涉及内存分配、字符串格式、时间日期、I/O、定时函数、链接表、数组、Hash表、树、队列、缓存工具函数等。glib处理的一个重要函数是主循环,它使GNOME可以同时处理多个资源并在应用程序中执行函数。

  • GDK:GDK(GIMP绘图包)简化程序员使用X函数(如X11)的函数库。X库是低层函数,由许多只做专门和相对简单任务的函数组成。GDK创建保存窗口配置信息的数据结构,并提供使用这些数据结构的函数。如色彩保存在GdkColor结构中。

  • GTK+:GTK+就是GIMP工具包,把GDK提供的函数组织成对象。大部分都是可显示的对象,如按钮、标签、文本输入窗口等,其中有一类对象称为小部件(widget),这些小部件在单独一个包内带有标准接口、提供颜色、尺寸、位置、鼠标、键盘、字体等。GTK+库包含各种控件、GUI组件,如 GtkButton、GtkTextView。

X11是用来控制显示的底层图形函数库,包括所有窗口函数,如显示窗口、回应鼠标的函数。
GNOME库是GDK+库的扩展。GNOME桌面环境用来控制整个桌面,一个GNOME应用程序通常使用一些GNOME对象和函数和桌面小部件交互。

Gnome和XFce桌面环境都是用GTK+库来创建的。SWT和wxWidget都是很出名的基于GTK+的编程框架。

谢谢阅读

文章来源: blog.csdn.net,作者:WongKyunban,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_40763897/article/details/102562687

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。