点击上方蓝字关注我们


引言
您的项目开发是否是依赖于MFC的?在使用MFC的过程中您又是否会受限于MFC的框架,无法有效的提高工作效率?日益更新的拓展与多显示器的硬件平台又是否让您望洋兴叹?
为了解决这些问题,本文将介绍如何将已有的MFC项目迁移到Qt,并利用Qt框架的优势带来更好的开发体验。作为领先的C++跨平台框架,Qt正逐渐成为了代替MFC的候选开发工具之一。


成功迁移的前提

对于项目迁移来说,在涉及到项目代码的重构时,绝大多数人都会担心在不同的框架下进行迁移之后能否满足自己的要求,在迁移复杂的项目时又是否会改变自己原来的项目架构。
当然,这些担忧是不可避免的的。为了实现对项目本身产生最小的干扰,我们针对MFC到Qt的项目迁移,将会从以下四个主要的方面对迁移内容进行把控,以确保我们的项目能够完整的移植到Qt框架内。
1用户界面
将对话框和UI迁移到Qt的等效元素时,需要对UI的可用性进行评估和设计,然后进行相应的UI调整。
2非UX代码
需要将核心的MFC类(例如strings,files,networking)转换为C++或者根据需要使用带有Qt的C++
3Windows API
需要删除所有Windows特定的API,并将其替换为通用的操作系统API
4系统构建
从特定的Microsoft 系统构建转移到与平台无关的系统构建


迁移的步骤

对于项目迁移,相信绝大多数人都会认为这是一个艰难的过程,因为其中所涉及到的代码重构使得很多人望而却步,所以如何保证迁移后项目的稳健性是我们必须要解决的首要问题。
为了使得项目迁移的整个过程变得可控,我们通常会在保证程序运行时先将MFC程序逐渐变为Qt/MFC混合程序,最后再实现完全的迁移。通常来说,我们会有一个项目迁移计划,其中包含了以下几个主要的步骤:
1评估
对迁移的项目开始进行评估,包括了项目迁移的范围,时间,复杂性以及成本,确保移植的可靠性与期望值
2讨论与设计
针对具体的项目讨论具体的编码标准与程序规范,并基于此进行端口设计,建立了一个可用于重构,重新配置并且适应于后期UX更改的移植计划。
3工具
使用专用的MFC到Qt的转换工具移植一部分旧代码,节约整体的移植成本
4移植
将其余的端口交给Qt和MFC专家,他们将和该MFC项目的开发人员进行合作,迁移软件的其余部分。
5测试
根据已有的test scaffolding以及其他的测试需求对端口进行测试


从MFC移植到Qt的优势
1)Qt通过定期更新进行功能的增强和错误的修复
2)Qt使用现代化的开发方式和嵌入式友好的C++,支持C++11
3)Qt 3D提供完整的3D支持和可选的基于物理的渲染(PBR)
4)Qt具有图形,物联网设备,蓝牙,传感器以及其他外围设备
5)Qt支持全面的多媒体标准(包括DRM)
6)Qt Creator IDE允许开发人员与设计人员更加紧密的协作
7)Qt提供了多平台的支持与针对其他操作系统的可移植性,例如Linux,Windows,Windows Embedded和Android
关注我们,了解更多信息

-END-

本文介绍了如何将依赖MFC的项目迁移到Qt框架,重点在于控制迁移过程对项目的影响。迁移步骤包括用户界面、非UX代码、Windows API和系统构建的调整。采用Qt的好处包括定期更新、现代化C++支持、3D渲染、多媒体支持和跨平台能力。

1202

被折叠的 条评论
为什么被折叠?



