简介FLTK,如同其名字所表达的:The Fast Light Tool Kit,一个轻量级的GUI开发库。但这轻量级并不代表功能的羸弱,相反,FLTK在具有基本的GUI功能之外,还拥有一些特殊的功能,比如跨平台、内置 OpenGL功能、速度更快、尺寸更小、协议宽松等。当然,缺点也是有的,比如对于复杂的界面构件支持不够,资源支持的不足等。GUI构件FLTK的底层只提供一套完整的画点、画线功能,另外附带了字体的显示功能,但FLTK对字体的支持还很粗糙,尤其对于非英文字符集而言。在基本的点、线功能基础上,FLTK完全自己实现了一套界面,比如Button、Label、Edit、Tab等,全部都是由基本的点线画出。底层之上是一套以Fl_开头的类,代表了各种GUI构件,比如Window、Button、 Input等,使用起来很是容易。所有的界面构件都是画出来的,这些界面类的共同特点是轻量型、都拥有一个draw(),只要在draw()里 实现自己的绘画动作即可。事件模型对于FLTK而言,使用的是最直接的方法:while(1){}。每个界面类都有一个handle(int event),只要继承这个成员函数,就可以在其中处理自己的事务,由于这样的事件方式,造成FLTK的刷新速度很快,事件反应迅速。FLTK的事件采用了最原始的函数指针方式。OPENGL集成FLTK产生于NeXT环境,发展于X-window环境,所以对图形加速的支持必然是选择OpenGL。FLTK 使用GlWindow这个类将OpenGL的基本功能囊括其中,只要在GlWindow的draw()里glbegin/glend即可。版权FLTK基于LGPL,对使用者的要求非常宽松: Contrary to popular belief, it can be used in commercial software - even Bill Gates could use it!所以开发者不需要担心其项目的隐形问题。