C/C++编程GUI库比较
最强的GUI库当属Qt,毕竟是商业化的东西,功能最完整,什么都好,包括类似java代码风格,良好的框架设计,但有几点值的一提:
1.它没有使用STL,而是自己实现了一套替代方案QTL;
2.事件模型使用自创的signal/slot机制,所以需要moc.exe来预处理头文件;
3.对皮肤的支持不是很好,需要自己写Style类来定义各种控件的Paint;
所以站在Qt的视角去比较所有其他的开源库,相信这样能为你作出正确的选择。
1. GTK+
gtk+用C语言的面向对象的设计方法,框架设计良好,它可能会比Qt性能好。LGPL协议,可以作商业用途,支持皮肤(theme/GtkStyle),支持XML定义界面,有设计器支持(glade),支持国际化(gettext),但没有Qt方便,编译的库大小3M左右(Debug版本算上所有的lib)比Qt小;有类似Qt的signal机制,但不需要预编译处理。对opengl和图形图像支持良好。
gtk+基于三个库:glib,pango和atk。glib是底层库,封装了c的数据结构处理,可移植性,thread,动态载入以及一个对象系统。pango是一个布局和文本渲染库,处理
字体和国际化。atk是一个应用程序组件接口库,里面有类似Qt的action之类的。另外cario是一个矢量图的处理库。
因为是C,但代码中避免不了宏和下划线,不是那么讨人喜欢,估计C程序员比较习惯。
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
g_signal_connect (window, “destroy”, G_CALLBACK (gtk_widget_destroyed), &window);
但有其他语言的绑定,c++的是gtkmm,python的是PyGtk,ada的是AdaGtk。其中gtkmm的代码风格比较好,没有了下划线和诸多宏。
gtk+的最著名的成功案例是gimp图像处理工具和gnome桌面。
GIMP (http://www.gimp.org/), an image manipulation program
AbiWord (http://www.abiword.com/), a professional word processor
Dia (http://www.lysator.liu.se/~alla/dia/dia.html), a diagram creation program
GnuCash (http://www.gnucash.org/), a personal finance manager
Gnumeric (http://www.gnome.org/projects/gnumeric/), the GNOME spreadsheet application
Glade (http://glade.gnome.org/), a GTK+ based RAD tool which produces GTK+ an
相关文档:
系统环境:Windows 7
软件环境:Visual C++ 2008 SP1 +SQL Server 2005
本次目的:编写一个航空管理系统
这是数据库课程设计的成果,虽然成绩不佳,但是作为我用VC++ 以来编写的最大程序还是传到网上,以供参考。用VC++ 做数据库设计并不容易,但也不是不可能。以下是我的程序界面,后面 ......
Boss说,要看OpenGL,看了快一个月,总算出了个像样的东西,用C写了个3D迷宫,
虽然只有350行
代码,不过边学边写,足足写了一周时间,还是小有成就感的,活活活!
&n ......
Linux 操作系统 C 语言编程入门
目 录
第一章 基础知识 ……………………………………………………………4
第二章 ......
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define err(msg) perror(msg)
static void mkdirs(const char *dir)
{
char tmp[1024];
char *p;
&nbs ......
编译,编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。
C源程序头文件-->预编译处理(cpp)-->编译程序本身-->优化程序-->汇编程序-->链接程序--> ......