概述

wxWidgets由爱丁堡大学的Julian Smart于1992年创立。最初是一个用于创建在Unix和Windows上可移植的应用程序的项目,后来它已成长为支持MacOS,GTK+以及许多其他工具包和平台的界面库(有关更多详细信息,请参见“历史”页面)。为该项目做出贡献的开发人员数量现在为数百人,工具包也有强大的用户群,其中包括从开源开发人员到公司开发人员等很多人。那么,与其他跨平台GUI工具包相比,wxWidgets有什么特殊之处?

wxWidgets为您提供了一个易于使用的API,用于在多个平台上编写GUI应用程序,该应用程序仍在使用本机平台的控件和实用程序。与适合您的平台和编译器的合适库链接,您的应用程序将采用适合该平台的外观和感觉。除了出色的GUI功能之外,wxWidgets还为您提供了:在线帮助,网络编程,各种流操作,剪贴板和拖放,多线程,各种流行格式的图像加载和保存,HTML查看和打印等等。

尽管wxWidgets是用C ++编写的,但您可以将其与多种语言一起使用,包括Python,Perl和C#。如果使用带有C ++的wxWidgets,那么您的代码将可以链接到每个平台上的不同版本的库,从而是您的代码可以跨平台运行。由于wxWidgets库是用C ++而不是Java这样的语言构建和编译的,因此它们是高性能的,几乎与使用本机工具包本身一样快。

支持的平台

wxWidgets当前支持以下平台:

  • wxGTK:使用GTK+ 2.6版或更高版本的Linux和其他UNIX变体的推荐端口。
  • wxMSW:32位和64位Windows变体的端口,包括Windows XP,Vista,7、8和10。
  • wxOSX/Cocoa:用于在MACOS 10.10及更高版本上提供基于Cocoa的应用程序。
  • wxQT:wxQT是使用QT库的wxWidgets的端口。它需要QT 5或更高版本。
  • wxX11:Linux和Unix变体的端口使用通用小部件集定位X11。
  • wxMOTIF:使用OpenMotif或LessTif小部件集的Linux和Unix变体的端口。

此外,当前稳定的3.0版本也支持以下列出的旧平台:

  • wxMSW:旧版32位Windows版本,例如Windows 95,Windows 98,Windows 2000
  • wxMAC:用于在Mac OS X 10.2至10.6上提供Carbon应用
  • wxOSX/Carbon:用于在Mac OS X 10.5及更高版本上提供基于Carbon的32位应用

功能和特点

wxWidgets有数百个类,涵盖了许多应用程序开发领域,我们无法在此简短文档中充分总结。 GUI组件范围从简单的按钮组件到HTML列表框;从基本消息框到打印预览窗口。其他领域包括:

  • 使用Sizers的窗口布局
  • 设备上下文(以及笔,刷子和字体)
  • 全面的事件处理系统
  • HTML帮助查看器
  • 声音和视频播放
  • Unicode和国际化支持
  • 文档/查看体系结构
  • 打印架构支持
  • Sockets网络开发支持
  • 多线程
  • 文件和目录操纵
  • 在线和上下文敏感的帮助
  • HTML渲染
  • 基本容器
  • 图像加载,保存,绘图和操纵
  • 日期时间库和计时器
  • 错误处理
  • 剪贴板和拖放

您可能会发现浏览参考手册以了解支持功能很有帮助。

wxWidgets许可证

wxWidgets库是根据wxWindows许可证分配的,该许可证基于L-GPL,但具有例外条款。例外条款允许您在不需要公开您自己的应用程序的源代码的情况下,动态或静态地将应用程序链接到wxWidgets。换句话说,您可以免费使用wxWidgets进行免费或商业项目。许可证鼓励您回馈wxWidgets库本身的增强功能。

谁使用wxWidgets?

世界各地的许多组织和个人都在使用wxWidgets。它就像在家用的一种消费产品,销售了数十万份,就像wxWigets在大学或开源项目中一样。 wxWidgets已用于帮助公司创建前沿芯片,帮助钻探石油,控制无飞机飞机以及测试太空望远镜的组件。许多公司都依赖wxWidgets以及它给他们带来的跨平台优势。一些使用wxWidgets的知名组织,包括:AOL,AMD,Lockheed Martin,Xerox,NASA和开源应用程序基金会(OSAF)。您可能熟悉的wxWidgets应用程序,包括:AVG防病毒,Forte代理,Audacity,Filezilla,iPodder和Tortoise CVS。很难知道有多少个开发人员在使用wxWidgets,但是只在一个非常活跃的wxWidgets社区,仅公告板上就有1,800多个订户。

使用wxWidgets有什么好处?

好处包括以下内容:

  • 节省开发成本:一次编写代码,程序将可以在Windows,Unix,MacOS和其他平台上运行。
  • 客户满意度提高:可以提供本地外观和感觉的稳定,快速,有吸引力的应用程序。
  • 生产率提高:wxWidgets提供的各种类,既可以创造出色的GUI和一般应用开发。
  • 由于对您以前可能没有考虑过的平台的支持以及国际化应用程序的能力,因此增加了市场份额。
  • 大型活跃的wxWidgets社区的支持,该社区有助于回答问题,并提供提示错误。
  • 可以随时查看wxWidgets源代码,从未快速增强功能和排查错误。

如何使用C ++学习wxWidgets?

下载wxWidgets时,您将获得3,000页参考手册以及大约80个示例和演示。这提供了大量信息来帮助您入门,但是朱利安·斯玛特(Julian Smart)、凯文·霍克(Kevin Hock)、Stefan Csomor的书籍的《wxWidgets跨平台GUI编程》也是非常宝贵的资源。随附的CD上的对话框编辑器将帮助您掌握Sizers使用方法,Sizers这是一种灵活的布局机制。

如何使用Python学习wxWidgets?

wxPython WIKI为入门提供了绝佳的指南,但是如果您仍然需要其他帮助,请查看Action Book中的wxPython 或较新的wxPython 2.8应用程序开发食谱。查看wxPython 网站,以下载wxPython 库以及文档和演示包。文档和演示软件包包含一个应用程序,显示了wxWidgets中几乎所有可用的类别的使用,并且演示是动态编辑的,因此您可以进行更改并在实时查看效果。这是了解工具包的工作方式的绝佳方法。

获取额外的支持

您可以在论坛和邮寄列表中找到开发人员的免费社区支持。社区编辑的wxWIKI包含许多指南,可以帮助补充官方文件,并提供了几家公司的商业支持。

// END

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐