在众多C++的库中,GUI部分的库算是比较繁荣,也比较引人注目的。在实际开发中,GUI库的选择也是非常重要的一件事情,下面我们综述一下可选择的GUI库,各自的特点以及相关工具的支持。
3.1、MFC
大名鼎鼎的微软基础类库(Microsoft Foundation Class)。大凡学过VC++的人都应该知道这个库。虽然从技术角度讲,MFC是不大漂亮的,但是它构建于Windows API 之上,能够使程序员的工作更容易,编程效率高,减少了大量在建立 Windows 程序时必须编写的代码,同时它还提供了所有一般 C++ 编程的优点,例如继承和封装。MFC 编写的程序在各个版本的Windows操作系统上是可移植的,例如,在Windows 3.1下编写的代码可以很容易地移植到 Windows NT 或 Windows
95 上。但是在最近发展以及官方支持上日渐势微。
3.2、QT
参考网站:http://www.trolltech.com
Qt是Trolltech公司的一个多平台的C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功 能。Qt是完全面向对象的很容易扩展,并且允许真正地组件编程。自从1996年早些时候,Qt进入商业领域,它已经成为全世界范围内数千种成功的应用程序 的基础。Qt也是流行的Linux桌面环境KDE 的基础,同时它还支持Windows、Macintosh、Unix/X11等多种平台。[wangxinus注:QT目前已经是Nokia旗下的产品,原官方网站已经失效,目前为http://qt.nokia.com.2009年初发布的Qt4.5版本开始使用LGPL协议,诺基亚希望以此来吸引更多的开发人员使用Qt库]
3.3、WxWindows
参考网站:http://www.wxwindows.org
跨平台的GUI库。因为其类层次极像MFC,所以有文章介绍从MFC到WxWindows的代码移植以实现跨平台的功能。通过多年的开发也是一个日趋完善的GUI库,支持同样不弱于前面两个库。并且是完全开放源代码的。新近的C++ Builder X的GUI设计器就是基于这个库的。[wangxinus注:迫于微软的施压,已经由WxWindows更名为wxWidgets]
3.4、Fox
参考网站:http://www.fox-toolkit.org/
开放源代码的GUI库。作者从自己亲身的开发经验中得出了一个理想的GUI库应该是什么样子的感受出发,从而开始了对这个库的开发。有兴趣的可以尝试一下。
3.5、WTL
基于ATL的一个库。因为使用了大量ATL的轻量级手法,模板等技术,在代码尺寸,以及速度优化方面做得非常到位。主要面向的使用群体是开发COM轻量级供网络下载的可视化控件的开发者。
3.6、GTK
参考网站:http://gtkmm.sourceforge.net/
GTK是一个大名鼎鼎的C的开源GUI库。在Linux世界中有Gnome这样的杀手应用。而Qt就是这个库的C++封装版本。[wangxinus注:“Qt 就是这个库的C++封装版本”是错误的。Qt早于GTK,最初Qt由于协议的原因引起社区的不满,另外开发了一个基于C语言的GTK库,后面的扩展版本为
GTK+。GTK+的Gnome和Qt的KDE是目前linux桌面的两大阵营,曾有水火不容之势。目前双方都以及开源社区的精神,已经和解。]
|
相关推荐
因此,今天的C++开发者应当积极地学习和应用自动内存管理设施。 说到自动内存管理,比较轻量级的做法是boost::smart_ptr,而激进的做法是引入完整的GC机制。目前开源而又比较可靠的GC中,Hans- Boehm GC无疑是最受...
《C++标准程序库》是一本深度探讨C++标准库的权威著作,由著名C++专家侯捷老师撰写。这本书全面覆盖了C++标准库的各个部分,是学习C++编程过程中不可或缺的参考资料。20多兆的压缩文件包含了一份详尽的PDF文档,为...
其次,"Effective C++ Digital Collection"和"Effective Modern C++"都是著名C++专家Scott Meyers的著作。这两本书分别针对C++11/14和C++11/14/17/20的现代特性提供了实用的编程建议。"Effective C++"系列书籍深入...
《C++标准程序库》是一本详尽介绍C++标准程序库的重要著作,由著名C++专家Alexandrescu和Sutter合著,并由侯捷和孟岩将其翻译成简体中文,为中国的C++开发者提供了宝贵的参考资料。这本书共计829页,全面覆盖了C++...
C++是一种通用的、面向对象的编程语言,以其强大的性能、灵活性和丰富的库支持而著名。在这个事例中,C++的特性如类、模板、STL(Standard Template Library)等将被用来实现仓库存储系统的功能。STL提供了容器(如`...
### 从缺陷中学习C/C++ ...总之,《从缺陷中学习C/C++》不仅仅是一份关于编程技巧的手册,更是一本关于如何面对挑战、如何持续学习和改进的指南。希望每位读者都能从中获得启发,并在自己的编程旅程中取得更大的成就。
muduo库是由著名C++开发者陈硕创建的一个开源网络库,专为Linux平台设计,适用于高并发、低延迟的网络服务。它提供了一套完整的异步事件驱动模型,包括非阻塞I/O、事件分发器(如epoll)以及线程池等机制,能够帮助...
此外,对于C++编程的学习,理解并掌握STL(Standard Template Library,标准模板库)是至关重要的,因为STL提供了一套高效的数据结构和算法,如vector、list、set、map等容器以及sort、find、transform等算法。...
9. **库的选择与比较**:C++中著名的矩阵库有Eigen、Blaze、Armadillo等。它们各有优缺点,选择时要考虑性能、易用性、功能丰富程度以及是否符合项目需求。 10. **使用示例**:调用矩阵库通常涉及包含库头文件、...
KCP库,全称为"快速可靠协议"(Kilobyte Control Protocol),是由著名程序员"云风"(WingFung Yuen)开发的一种高效、快速的网络通信协议。KCP库主要用C语言编写,同时也支持C++,使得它在多种环境中都能方便地应用...
C++是一种基于C语言发展而来的编程语言,它在C语言的基础上增加了面向对象的特性,同时也支持泛型编程和函数式编程等现代...无论是初学者还是经验丰富的程序员,持续学习和磨练C++技术都将对职业生涯产生积极的影响。
2. **C++ Standard Library**:学习完基础后,了解和熟悉C++标准库是至关重要的。这个阶段你应该学习如何使用STL(Standard Template Library),包括容器(如vector、list、map等)、迭代器、算法和函数对象等,这...
VLC是一款著名的开源媒体播放器,它以其强大的跨平台能力和丰富的功能著称。在C++开发中,我们可能需要利用VLC的API来构建自定义的媒体播放解决方案,这就涉及到了VLC动态库的使用。VLC的动态库允许开发者在程序运行...
C++实现深度学习的关键库包括TensorFlow的C++ API、Caffe、Dlib、MxNet等。例如,TensorFlow的C++ API允许开发者在训练好的模型上进行预测,或者在没有Python环境的情况下构建新的模型。Caffe以其速度和效率著名,...
在IT领域,加密方法是确保数据安全的重要技术。C++是一种强大的编程语言,它提供了...通过深入学习和应用这个库,开发者可以提升他们的安全编程技能,确保他们的应用程序能够在保护用户隐私和数据安全方面达到高标准。
10. 最佳实践和案例研究:分享一些成功应用C++Builder进行开发的案例和最佳实践,以供学习和参考。 由于没有具体的文档内容,以上知识点是基于标题“C++Builder 资料库”和描述“C++Builder 资料库,很全都资料”所...