C++标准中并没有包含GUI,这也使得C++开发图形化界面需要依赖于第三方的库。实际上,图形界面恰恰是C++的强项,小到平常使用的各类桌面软件,大到魔兽世界这样的游戏,都是C++擅长的地方。C++之所以能做到这一点,原因在于它是一门即能提供极高的性能,又能提供良好接口的语言。C性能很高,但是封装太差;Java封装很好,但性能不适合做界面开发,更别谈大型游戏。C++的GUI库除了最为人所熟知的MFC,其实还有其它很多,这篇文章列举了8个免费且实用的C++ GUI库。
C++是一种多范式,遵循自由的形式,并且通用的一门强大的编程语言,这门语言被视为是中间层次的语言,之所以这样认为,是因为它拥有高层语言和底层语言的一些特性。
C++之所以成为最流行的语言之一是有许多原因的,它的应用范围包括系统软件,设备驱动,应用程序软件和许多其他包含客户端程序和娱乐的软件,最好的一个例子是视频游戏。
GUI是图形用户接口(Graphical User Interface)的缩写,这被定义成用户接口的类型,运行用户直接和电子设备交互而不是通过命令行的形式,这个软件不仅能用在计算机而且还能用在最新的手持设备,例如游戏设备或多种形式的音乐播放器。
今天我们要跟开发者分享C++的GUI库,希望这些库能够帮助开发者,在他们的下一个项目中能够让他们的应用程序拥有让人印象深刻和吸引力的布局。访问下面的目录,并且在留言板中分享你的想法。
1)Qt
Qt是一种跨平台的应用程序和UI框架
它包括一种跨平台的类库,集成开发工具和跨平台的IDE,使用Qt,你可以编写基于Web的应用程序,并且通过许多的桌面和应用程序来部署它们,而无需重写代码。
2)Fltk
FLTK(发音“Fulltick”)是UNIX/Linux(X11),Microsoft Windows和MacosX上一套跨平台的C++ GUI工具包。FLTK提供现代图形用户界面的功能而没有膨胀(谔谔...这个地方蛋疼了,路过的知道的说一下,原话:FLTK provides modern GUI functionality without the bloat),并且支持3D图形,依靠OpenGL和它内置的GLUT仿真。FLTK被设计成小巧和模块化足以实现静态链接,但作为一个共享库其做工很精细。FLTK也包括一个杰出的UI生成器,叫做FLUID,它能够在秒内创建应用程序。
FOX 是一套基于C++的工具包,能够很容易并且高效地开发图形用户接口,它提供了一个广泛的,而且越来越多,集成的控制,并提供最先进的设备状态,例如拖放,选择,和OpenGL为了3D图形操作的小工具。FOX也实现了图标,图像和方便用户的特性,例如状态行帮助和工具提示,工具提示甚至可以用到3D对象。
GPE Phone版本(G(PE^2))的目的是为移动的Linux设备开发一个基于GTK/GPE的软件栈,特别是移动电话,关于这个软件更多的细节,还有怎么找到它,请看我们的任务陈述:
5)Lgi
LGI是一个GUI框架,能够抽象提取出全部操作系统的相关性,你可以产生可移植性的代码,它能够处理全部的图形接口函数,线程和信号,网络连接,还有许多的bit位,并且分片来帮助小的,快速的和可依靠的应用程序。
wxWidgets是一个C++库,主要是让开发者为Windows,OS X,Linux和UNIX在32-bit和64-bit的体系下开发应用程序,同时也为移动的平台包括像Windows Mobile,iPhone SDK和嵌入式的GTK+。
U ++是一个C ++跨平台的快速应用程序开发框架,专注于程序员的生产力。它包括一套库(GUI,SQL,etc...),还有一套集成的开发环境。
8)Zoolib
ZooLib允许您从一个单一的代码库为各种平台和处理器构建本地应用程序,对于特定平台的源的需求不是很大,在极少数情况不可移植的代码变得必要,包括它通过条件编译内联,使用提供的预处理符号之一是简单和容易的事情。
鄙人不才,翻译不好还请见谅,觉得不清楚的可以看原文http://zoomzum.com/8-free-and-useful-c-gui-libraries/。