wxWidgets学习笔记(1)wxWidgets简介

 1、wxWidgets简介
    官方网站:http://www.wxwidgets.org/
    
    wxWidgets是一个开源C++Application framework,是用来为普通桌面程序和移动设备程序开发用户界面的工具包。由于它是一个框架(Framework),所以它在提供标准程序行为的同时也消除了程序底层的复杂性。
    wxWidgets最初叫作wxWindows,由就读于爱丁堡大学的Julian Smart开发,并于1992年公开发布。Version 2作了重大改进,由Julian Smart, Robert Roebling, Vadim Zeitlin, Vaclav Slavik 以及其他许多人编写和维护。Version 2支持MS Windows, Unix with GTK+, Unix with Motif, 和 MacOS等多种平台。
    在2004年,由于微软认为“wxWindows”侵犯了自己的商标权,所以“wxWigets”成为了新的名称。
   尽管wxWidgets通常被成为“用户图形界面开发工具包”,但事实上它所提供的功能决不仅限于此。它的其他特性能够应用与软件开发的各个方面。这个特点很重要,因为所有基于wxWidgets的应用程序都应能移植到不同的平台,而不仅仅是移植界面。wxWidgets提供了各种类库用以支持文件流(files and streams)、多线程、程序设置、进程间通信、在线帮助、数据库访问等等。
   wxWidgets与其他相似类型的框架(如MFC,OWL)不同的一点是,它具有跨平台(MultiPlatform)的特性。wxWidgets为其所支持的各种平台提供几乎一致的应用程序接口(API),这意味着在Windows上编写的程序,经过很少的修改(甚至原封不动),就可以在Linux平台上重新编译。由此带来巨大的经济利益,避免了同一软件需要在不同平台上全部重新编写时产生人力物力上的浪费。同时也减少了程序员的负担,因为他们不需要再去强记不同平台的应用程序接口。此外,wxWidgets能够增强应用程序的持久性。随着计算机业的不断发展,wxWidgets框架也随之不断的更新,使得基于wxWidgets框架的程序能够轻松移植到最新最好的系统平台上去。
    另一点不同是wxWidgets提供本地的外观(Native look and feel)。有些框架为不同平台提供相同的窗体效果,或者使用某些预先设定的主题来仿真实现与平台相仿的外观。相对而言,wxWidgets使用了本地的窗口装饰,所以程序外观不仅看起来与主平台一致,而且事实上它就是本地外观。
    wxWidgets的优点不是三言两语能说完的,归纳起来有以下几点:
    低成本(实际上是免费的!)。
    可以获取源代码。
    可以用于各种平台。
    能用绝大多数流行的C++编译器编译。
    50多个example程序。
    1000多页在线文档,并且可以打印。
    包含Tex2RTF工具,可以把文档方便转换成Windows Help, HTML 和 Word RTF等各种格式。
    简单易用,面向对象的API。
    灵活的事件处理系统。
    图形调用包括了线、长方形、曲线等。
    Constraint-based 和 sizer-based布局。
    打印/预览和文档/视图架构
   Toolbar, notebook, tree control, 高级 list control 等类。
   支持MDI。
   可以生成Windows下的DLL和Unix下的动态库。
   有浏览文件、打印、选择颜色等通用对话框。
   在MS Windows下,支持生成metafiles并可以复制到clipboard。
   有从应用程序中调用帮助的API。
    现成的HTLM窗口(支持HTML子集)。
    网络支持--通过socket和protocol类。
    支持平台无关的图形处理程序。
    内在支持许多文件格式(BMP, PNG, JPEG, GIF, XPM, PNM, PCX)。

参考文献

《Cross-Platform GUI Programming with wxWidgets》,Julian Smart and Kevin Hock with Stefan Csomor,
《wxWidgets 2.8.9: A portable C++ and Python GUI toolkit》 Julian Smart, Robert Roebling, Vadim Zeitlin, Robin Dunn, et al

你可能感兴趣的:(wxWidgets)