代码之家  ›  专栏  ›  技术社区  ›  Alex Che

Windows CE开发是否建议从MFC切换到qt或wtl(或其他GUI工具包)?

  •  7
  • Alex Che  · 技术社区  · 17 年前

    对于Windows的C++ GUI工具包,有很多问题,但它们大多适用于桌面OS版本。

    我现在开始了一个C++项目,用于Windows CE 5 VGA手持设备,并考虑GUI库的选择。在Windows CE项目中使用MFC有一些经验,但是在这里提到的MFC有一些已知的弱点(例如,使用的技术相当过时,抽象抽象,过度使用C++预处理器等)。对于桌面项目,他们主要推荐qt和wtl。同时,MFC的一些特性对嵌入式开发仍具有重要意义。

    那么,您认为,将一些资源用于学习从MFC切换到新的GUI工具包是否合理,在这种情况下,您会推荐什么工具包?或者,对于WindowsCE嵌入式开发来说,MFC仍然是最重要的吗?

    工具包最重要的特点是:CPU和内存负载适中,运行时间小,良好的面向对象设计,符合良好的现代C++实践,陡峭的学习曲线,开发速度,商业外观,方便调试和设计工具。

    (项目中需要的是:串行端口通信、线程、绘图和图表绘图、ActiveSync通信。)

    4 回复  |  直到 14 年前
        1
  •  8
  •   cybevnm    16 年前

    我们在WindowsCE5.0项目的最后阶段有Qt4.5,所以我试着介绍Qt开发相对于MFC的优缺点。
    QT加:

    • 好的面向对象设计
    • 本机支持的信号/插槽抽象允许更快、更容易地开发
    • Qt支持许多不同的功能(GUI、文件系统、网络、线程等)
    • LGPL许可证允许免费开发商业应用程序
    • 开放源码,例子,优秀的文档使学习曲线多,步进多。
    • 多平台库。我们能够在带有Vista操作系统的设备和桌面上运行我们的应用程序,没有任何问题。在4.6版本中增加了Symbian支持

    QT减数:

    • 相当大的二进制文件(>10 MB用于核心和GUI模块,所有功能都“打开”,但您可以调整库构建并使libs更小)
    • 与MFC相比,内存和CPU使用量大

    我认为,与qt-it相比,mfc的主要优势在于它的最小内存和CPU占用空间。如果这不是问题-选择qt。
    P.S.COM端口通信和绘图本机不包括在qt中,但存在基于lgpl qt的库,这些库为您提供了此类功能(例如用于绘图的“qwt”)。

        2
  •  2
  •   Narek    17 年前

    第一个优点是qt是跨平台的lib。其次,MFC是一个头痛的问题。使用MFC最简单的事情可能会变成一个大问题。因此,尽可能快地从MFC移动到Qt。

        3
  •  2
  •   AAT    17 年前

    如果你知道MFC,那就坚持它:它对CE来说很好。当然,与桌面MFC相比有一些限制,但它们通常不重要。我认为我们发现的主要问题是,在MFC8 for CE(VS2005)中不支持打印。

    另一方面,如果你有一张空白的画布,我建议你去.NET——或者是C或者是VB,随便哪个你觉得最舒服。

        4
  •  1
  •   gbjbaanb    17 年前

    如果你学习qt,你将有机会为所有其他(linux)平台编写代码,这些平台是由诺基亚、英特尔和谷歌的产品线推动的。这本身就使得它成为最适合我的技术!

    您可能仍然需要查看其他库以了解代码的某些其他方面,但是使用qt作为GUI永远不会是一个糟糕的选择。