原帖:
http://www.cppblog.com/lingjingqiu/archive/2009/01/06/71363.html
界面库名称
|
接口设计
|
界面编辑器
|
高级布局功能
|
平面绘制
|
平台兼容性
|
语言支持
|
IDE兼容性
|
视图-模型分离机制
|
运行时
|
其它
|
Windows Forms
|
接口优秀。C++下使用CLI扩展,其它语言为原生支持。
|
界面编辑器完整,包括布局、属性、消息关联的完整设置。不可预览。
|
Table Layout,Splitter Layout,Flow Layout等,Anchor和Dock机制。多分辨率界面下表现良好。
|
GDI+,面向对象的2D绘制接口,使用简便。
|
需要.Net平台支持。WIndows或Linux(Mono,非官方支持),支持Windows CE
|
C++/CLI, 支持.net的语言。
|
仅VS。
|
布局和视图方案建立在代码中。部分组件支持Model-View架构。
|
需要部署对应的.net
|
商业协议
|
MFC
|
基于宏和虚函数,使用特殊格式注释,使用自定义的RTTI系统。类接口设计优良。通过回调函数和虚继承重载调用客户代码。
|
基于资源编辑器,仅能对空间基本布局和少量属性进行调整。不可预览。
|
缺乏高级布局功能,多分辨率需要是手工或程序中调整。
|
GDI及GDI封装,可选GDI+
|
Windows,Windows CE
|
C++ Only, 支持COM时可以实现Binary级别复用。
|
仅Visual Studio
|
使用资源保存控件的基本控件布局,提供Doc-View机制和控件数据交换支持视图分离。
|
需要部署MFC运行时库。
|
商业协议
|
WTL
|
基于模板和虚函数。类接口类似于MFC。需要使用多重继承。通过模板特化和回调函数与客户代码交互。
|
同MFC
|
同MFC
|
同MFC
|
同MFC
|
同MFC,对COM的支持比MFC完善很多。
|
Visual Studio,Windows下支持标准的C++编译器。
|
使用资源文件保存空间布局。
|
无
|
自由协议
|
wxWidget
|
宏,自定义RTTI。使用回调函数与用户代码交互。
|
无官方界面编辑器。可使用第三方界面编辑器。部分编辑器具有完整的所见即所得功能,且具有预览能力。
|
使用Sizer实现多分辨率的布局。功能偏弱。
|
wxDC等。
|
Windows,Linux,Unix,MacOS等
|
C++, .NET, Python, Lua, Ruby等
|
良好的编译器兼容性,缺乏IDE继承。
|
可以将界面属性生成到代码中,也可以使用XML格式保存。
|
wx的动态链接库或静态链接。
|
自由协议
|
Qt
|
使用宏和自定义的RTTI。使用Singal-Slot机制实现用户代码交互。可通过继承实现扩展。
|
Qt Designer,具备完整的所见即所得编辑功能。可预览界面。
|
具备完整的布局功能。多分辨率/多平台下表现良好。
|
QCanvas等。
|
Windows,Linux,Unix,MacOS等。
|
C++,Python等
|
可集成到Eclipse和VS
|
使用资源文件保存界面信息。部分组件具备Model-View-Delegate架构
|
qt的动态链接库。
|
开源协议+商业协议
|
GTK+
|
使用signal-slot机制完成用户代码交互。
|
GLADE,具备所见即所得的界面编辑功能
|
Layout Containers,具备较完整的布局能力。
|
GTK Graphics Context
|
Windows,Linux,Unix,MacOS等。 |
C,C++,Python,.NET等。
|
(暂时未知)
|
使用代码完成界面设置。部分组件具备Model-View架构。
|
GTK Runtime
|
开源协议
|
# re: C++下Windows Forms + MFC + WTL + wxWidgets + Qt + GTK+ 非官方综合比较 2009-01-06 19:05 qtopia
Nokia 最近推了 Qt Creator,是较好的IDE环境 回复 更多评论
# re: C++下Windows Forms + MFC + WTL + wxWidgets + Qt + GTK+ 非官方综合比较 2009-01-06 19:05 t
博主还可以增加一栏“国际化支持” 回复 更多评论
# re: C++下Windows Forms + MFC + WTL + wxWidgets + Qt + GTK+ 非官方综合比较[未登录] 2009-01-08 12:48 kenlistian
我觉得wxwidget是不错的选择。 回复 更多评论
# re: C++下Windows Forms + MFC + WTL + wxWidgets + Qt + GTK+ 非官方综合比较 2009-01-11 20:25 www
wxwidget做简单的还可以, 做复杂的界面,嘿嘿,那就麻烦了. win下还是MFC最爽. 回复 更多评论
# re: C++下Windows Forms + MFC + WTL + wxWidgets + Qt + GTK+ 非官方综合比较 2009-01-19 00:49 ArenAK
有没有哪一个是作者比较喜欢用的呢,及其原因? 回复 更多评论
# re: C++下Windows Forms + MFC + WTL + wxWidgets + Qt + GTK+ 非官方综合比较[未登录] 2009-01-19 16:35 六水
写的好~ 回复 更多评论
# re: C++下Windows Forms + MFC + WTL + wxWidgets + Qt + GTK+ 非官方综合比较 2009-02-05 11:08 空明流转
@六水
我就知道你是友情赞助的。。。 回复 更多评论
# re: C++下Windows Forms + MFC + WTL + wxWidgets + Qt + GTK+ 非官方综合比较[未登录] 2009-02-11 22:35 六水
这你也知道? 回复 更多评论
# re: C++下Windows Forms + MFC + WTL + wxWidgets + Qt + GTK+ 非官方综合比较 2009-02-25 10:19 aladdina
wxWidgets的代码质量不是很高,有一些比较初级的bug。我用过一段时间的wxWidgets,自己测试没问题,但是用户总会发回一些crash report。
另外,wxWidgets和Qt除了对于一些常见应用,比如窗口、DC的封装之外,还提供了很多系统接口的封装,比如clipboard, thread, socket等。
Qt有Qt Creator作为IDE,工程项目文件可以跨平台,另外,工程文件也可以用qmake转成平台无关的makefile。准备最近有空试试Qt,个人觉得商业代码质量还是要稍微好一些。
回复 更多评论
# re: C++下Windows Forms + MFC + WTL + wxWidgets + Qt + GTK+ 非官方综合比较 2009-09-18 12:09 idol
gtk 哪有 signal-slot机制,用的明明是 callbacks 回复 更多评论