5

我知道有很多 Qt 与 MFC 的问题,但我会尝试非常具体。

我们有一个针对利基行业的大型(10 年开发)C++ MFC 应用程序。它应该永远保持仅限 Windows 和仅限英语。但是我们需要添加一堆新的设计师绘制的 GUI 和 GUI 控件(对话框、按钮、自定义列表……)。

我们可以聘请 1 或 2 名新的 GUI 开发人员来构建这些新界面,因此我们可以负担得起选择与 MFC 不同的技术。

Qt 似乎最有希望并且最适合与 MFC 并行运行(哦,不,我们不是从头开始重新构建应用程序)。

似乎大多数引用的 Qt 优势是无关紧要的:跨平台开发、易于国际化、开源、非 GUI 库(我们不需要网络并且大多数其他功能已经实现)。

但 Qt 也因其良好的 OO 设计而闻名,他们最近推出了 QtQuick。我想给它一个机会,所以问题是

  • 在一个仅限 Windows 的商业项目中,从纯 MFC 迁移到 MFC+Qt 有哪些实质性优势,值得学习 Qt,将其集成到我们的构建/部署过程中,并可能支付商业许可证费用?
  • 特别是,如果我们在 Qt 中构建新的 GUI 并通过 QWinWidget 将它们合并到应用程序中,是否会加快开发速度?
4

2 回答 2

3

可能不是。

如果 gui 和业务逻辑很好地分离,那么逐渐将 gui 移动到 Qt 或在 Qt 中实现新部分可能是有意义的 - 但我们都知道 gui/逻辑将是一个可怕的混合在一起的混乱

如果您正在重写(这就是 Qt 最终的结果),那么如果它是一个常规的业务类型应用程序,那么使用 C#/.net 可能更容易。

如果性能至关重要,并且您在定义明确且分离良好的 c++ 库中拥有大量领域知识,那么 Qt 前端将是值得的

于 2013-01-16T17:44:12.280 回答
0

基本上不能回答问题,但可能会有所帮助。我认为另一种使用较新工具进行 GUI 的方法是使用 ActiveX 和 COM。我相信您可以轻松地在 MFC 应用程序中使用 ActiveX 组件。还有很多方法可以创建这样的控件。我正在使用 Delphi 来完成在 .NET WinForms 应用程序中成功使用的控件,但据我所知,这样的控件可以在 .NET 环境中轻松创建。

于 2013-01-16T18:55:36.717 回答