C++下Windows Forms + MFC + WTL + wxWidgets + Qt + GTK+ 非官方综合比较

  • 格式:xls
  • 大小:17.00 KB
  • 文档页数:4

Qt
GTK+
使用宏和 自定义的 RTTI。 使用 SingalSlot机制 实现用户 代码交互 。可通过 继承实现 扩展。 使用 signalslot机制 完成用户 代码交互 。
Qt Designer, 具备完整的 所见即所得 编辑功能。 可预览界面 。
具备完整的布 Windows, 局功能。多分 QCanvas等。 Linux,Unix, 辨率/多平台下 MacOS等。 表现良好。
界面库名称 接口设计 界面编辑器 接口优秀 。C++下 使用CLI 扩展,其 它语言为 原生支持 。 基于宏和 虚函数, 使用特殊 格式注 释,使用 自定义的 RTTI系 统。类接 口设计优 良。通过 回调函数 和虚继承 重载调用 客户代码 基于模板 和虚函数 。类接口 类似于 MFC。需 要使用多 重继承。 通过模板 特化和回 调函数与 客户代码 交互。 界面编辑器 完整,包括 布局、属性 、消息关联 的完整设置 。不可预览 。
使用代码完成界面 设置。部分组件具 GTK 开源协议 备Model-View架构 Runtime 。
GLADE,具 备所见即所 得的界面编 辑功能
Layout Containers, 具备较完整的 布局能力。
Windows, GTK Graphics Linux,Unix, Context MacOS等。
语言支持
IDE兼容性 视图-模型分离机制 运行时
其它
C++/CLI, 支 持.net的语 仅VS。 言。
wxWidget
宏,自定 义RTTI 。使用回 调函数与 用户代码 交互。
无官方界面 编辑器。可 使用第三方 界面编辑器 。部分编辑 器具有完整 的所见即所 得功能,且 具有预览能 力。
使用Sizer实现 多分辨率的布 wxDC等。 局。功能偏弱 。
Windows, Linux,Unix, MacOS等
Windows Forms
高级布局功能 Table Layout, Splitter Layout,Flow Layout等, Anchor和Dock 机制。多分辨 率界面下表现 良好。
平面绘制
平台兼容性 需要.Net平台支 持。WIndows或 Linux(Mono, 非官方支持), 支持Windows CE
wx的动 态链接库 自由协议 或静态链 接。

Lua,
Ruby等
C++, Python等
可集成到 Eclipse和 VS
使用资源文件保存 开源协议 界面信息。部分组 qt的动态 +商业协 件具备Model-View- 链接库。 议 Delegate架构
C,C++, (暂时未 Python,.N 知) ET等。
GDI+,面向对 象的2D绘制接 口,使用简便 。
MFC
基于资源编 辑器,仅能 对空间基本 布局和少量 属性进行调 整。不可预 览。
缺乏高级布局 功能,多分辨 率需要是手工 或程序中调整 。
GDI及GDI封 Windows, 装,可选GDI+ Windows CE
WTL
同MFC
同MFC
同MFC
同MFC
布局和视图方案建 立在代码中。部分 组件支持ModelView架构。
需要部署 对应 商业协议 的.net
C++ Only, 仅Visual Studio 支持COM 时可以实现 Binary级别 复用。
使用资源保存控件 的基本控件布局, 需要部署 提供Doc-View机制 MFC运行 商业协议 和控件数据交换支 时库。 持视图分离。
Visual 同MFC,对 Studio, COM的支 Windows下 使用资源文件保存 持比MFC完 支持标准的 空间布局。 善很多。 C++编译器 。

自由协议
C++, .NET, 良好的编译 可以将界面属性生 Python, 器兼容性, 成到代码中,也可 缺乏IDE继 以使用XML格式保 承。 存。