combobox qt 设置不可更改_从MFC到Qt的迁移

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

点击上方蓝字关注我们

05eb3a7a1050b9f63fa4973417fc0d46.png

9951ebbd58d02dfe644cf78982a560e6.gif

引言

      您的项目开发是否是依赖于MFC的?在使用MFC的过程中您又是否会受限于MFC的框架,无法有效的提高工作效率?日益更新的拓展与多显示器的硬件平台又是否让您望洋兴叹?

      为了解决这些问题,本文将介绍如何将已有的MFC项目迁移到Qt,并利用Qt框架的优势带来更好的开发体验。作为领先的C++跨平台框架,Qt正逐渐成为了代替MFC的候选开发工具之一。

b4aba27f40391a88af1aef75bc22ccca.gif

113c2ebeaca83afa21a8796f0ef0416a.png

成功迁移的前提

8f8e1baf1f32324922d889b536f46e38.png

      对于项目迁移来说,在涉及到项目代码的重构时,绝大多数人都会担心在不同的框架下进行迁移之后能否满足自己的要求,在迁移复杂的项目时又是否会改变自己原来的项目架构。

      当然,这些担忧是不可避免的的。为了实现对项目本身产生最小的干扰,我们针对MFC到Qt的项目迁移,将会从以下四个主要的方面对迁移内容进行把控,以确保我们的项目能够完整的移植到Qt框架内。

1

用户界面

     将对话框和UI迁移到Qt的等效元素时,需要对UI的可用性进行评估和设计,然后进行相应的UI调整。

2

非UX代码

     需要将核心的MFC类(例如strings,files,networking)转换为C++或者根据需要使用带有Qt的C++

3

Windows API

    需要删除所有Windows特定的API,并将其替换为通用的操作系统API

4

系统构建

   从特定的Microsoft 系统构建转移到与平台无关的系统构建

b4aba27f40391a88af1aef75bc22ccca.gif

113c2ebeaca83afa21a8796f0ef0416a.png

迁移的步骤

8f8e1baf1f32324922d889b536f46e38.png

     对于项目迁移,相信绝大多数人都会认为这是一个艰难的过程,因为其中所涉及到的代码重构使得很多人望而却步,所以如何保证迁移后项目的稳健性是我们必须要解决的首要问题。

     为了使得项目迁移的整个过程变得可控,我们通常会在保证程序运行时先将MFC程序逐渐变为Qt/MFC混合程序,最后再实现完全的迁移。通常来说,我们会有一个项目迁移计划,其中包含了以下几个主要的步骤:

1

评估

     对迁移的项目开始进行评估,包括了项目迁移的范围,时间,复杂性以及成本,确保移植的可靠性与期望值

2

讨论与设计

       针对具体的项目讨论具体的编码标准与程序规范,并基于此进行端口设计,建立了一个可用于重构,重新配置并且适应于后期UX更改的移植计划。

3

工具

      使用专用的MFC到Qt的转换工具移植一部分旧代码,节约整体的移植成本

4

移植

     将其余的端口交给Qt和MFC专家,他们将和该MFC项目的开发人员进行合作,迁移软件的其余部分。

5

测试

    根据已有的test scaffolding以及其他的测试需求对端口进行测试

b4aba27f40391a88af1aef75bc22ccca.gif

9951ebbd58d02dfe644cf78982a560e6.gif

从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

关注我们,了解更多信息

07dd6036a311dd09f619d21092617c6e.png

-END-

7007978850d2866810f7733c542ca558.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值