GTK+

news/2024/7/8 5:02:54 标签: gtk, objective c, freepascal, 工具, 图形, 桌面环境

GTK+(GIMP Toolkit)是一套跨多种平台的图形工具包,按LGPL许可协议发布的。虽然最初是为GIMP写的,但目前已发展为一个功能强大、设计灵活的一个通用图形库。特别是被GNOME选中使得GTK+广为流传,成为Linux下开发图形界面的应用程序的主流开发工具之一,当然GTK+并不要求必须在Linux上,事实上,目前GTK+已经有了成功的windows版本.


GTK+ 是一种图形用户界面(GUI)工具包。也就是说,它是一个(或者,实际上是若干个密切相关的库的集合),它支持创建基于 GUI 的应用程序。可以把 GTK+ 想像成一个工具包,从这个工具包中可以找到用来创建 GUI 的许多已经准备好的构造块。  最初,GTK+ 是作为另一个著名的开放源码项目 —— GNU Image Manipulation Program (GIMP) —— 的副产品而创建的。在开发早期的 GIMP 版本时,Peter Mattis 和 Spencer Kimball 创建了 GTK(它代表 GIMP Toolkit),作为 Motif 工具包的替代,后者在那个时候不是免费的。(当这个工具包获得了面向对象特性和可扩展性之后,才在名称后面加上了一个加号。)  这差不多已经 10 年过去了。今天,在 GTK+ 的最新稳定版本 —— 2.8 版上(3.0测试中),仍然在进行许多活动,同时,GIMP 无疑仍然是使用 GTK+ 的最著名的程序之一,不过现在它已经不是惟一的使用 GTK+ 的程序了。已经为 GTK+ 编写了成百上千的应用程序,而且至少有两个主要的桌面环境(Xfce 和 GNOME)用 GTK+ 为用户提供完整的工作环境。  GTK+虽然是用C语言写的,但是您可以使用你熟悉的语言来使用GTK+,因为GTK+已经被绑定到几乎所有流行的语言上,如:C++,PHP, Guile,Perl, Python, TOM, Ada95, Objective C, Free Pascal, and Eiffel。



http://www.niftyadmin.cn/n/1736273.html

相关文章

select函数与I/O多路转接

select函数与I/O多路转接 相作大家都写过读写IO操作的代码,例如从socket中读取数据可以使用如下的代码: while( (n read(socketfd, buf, BUFSIZE) ) >0) if( write(STDOUT_FILENO, buf, n) n) { printf(“write error”); exit(1); } 当代码中的…

wait()以及wait(status)\ waitpid()

#include <sys/types.h> #include <sys/wait.h>pid_t wait(int *status)进程一旦调用了wait&#xff0c;就立即阻塞自己&#xff0c;由wait自动分析是否当前进程的某个子进程已经退出&#xff0c;如果让它找到了这样一个已经变成僵尸的子进程&#xff0c;wait就会收…

select - I/O多路转接全面透析

select()系统调用提供一个机制来实现同步多元I/O&#xff1a; #include <sys/time.h> #include <sys/types.h> #include <unistd.h> int select (int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); FD_CLR(i…

c语言中的强制转换 a++ ++a

1.(float)a;//将a转化为实型 2.(int)(xy);将xy 的结果转化为int 3.加减乘除运算符合&#xff0c;左结合性&#xff0c; 典型的右结合&#xff0c;是赋值运算&#xff0c;例&#xff0c;xyz; //先执行yz,再执行x(yz); #include <stdio.h> int main() { int x4,y5,…

使用异步 I/O 大大提高应用程序的性能(AIO)

简介&#xff1a; Linux 中最常用的输入/输出&#xff08;I/O&#xff09;模型是同步 I/O。在这个模型中&#xff0c;当请求发出之后&#xff0c;应用程序就会阻塞&#xff0c;直到请求满足为止。这是很好的一种解决方案&#xff0c;因为调用应用程序在等待 I/O 请求完成时不需…

c 语言字符串的copy

源程序&#xff1a; #include <stdlib.h> #include <stdio.h> #include <assert.h> char *strcpy(char *strDest,const char*strSrc);int main(int argc,char **argv) {if(argc<3) {printf("argument error \n"); exit(1); } char *strstrcpy(a…

Ubuntu 系统优化

1: 并行启动程序: 这将会使启动程序并行,加速启动过程,代码&#xff1a; sudo nano /etc/init.d/rc (注意:这里用 gedit 打开可能是乱码,换个编辑器,如 nano,vi 什么的就 ok 了)找到并修改该行: CONCURRENCYnone 为: CONCURRENCYshell 2:交换分区使用: Ubuntu 默认的 vm.swap…

无名管道pipe的读写

源程序&#xff1a; #include <unistd.h> #include <stdlib.h> #include <stdio.h>void main() {int pipe_fd[2];pid_t child; char buf_r[100]; char *p_buf; int r_num; if(pipe(pipe_fd)<0) {printf("pipe create error !\n");exit(-1); } e…