求助!将MFC项目移植到Qt上

星灵剑圣 2021-02-03 04:04:19
公司突然交给我一个项目要移植到Qt上去,这个项目本来是几年前用VC6写的MFC项目,本人当时对MFC没有深入了解就直接转学Qt去了,请问各位大神们,有没有对MFC的消息循环进行讲解的,或者关于MFC和Qt里的各种类的对比文章能推荐一下,如果能推荐几个移植成功的项目也好
...全文
1886 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
zamely 2021-02-10
  • 打赏
  • 举报
回复 1
大家说的都对,其实MFC和QT差异是非常大的。无论是从界面,还是框架实现,包括功能相似的类名字,接口也不完全相同。 MFC核心就是消息机制,消息传递以及响应;而QT并没有大多还是进行信号槽的连接实现。只能重新实现了。 先读懂MFC项目,划分模块。然后逐个移植到QT。 MFC : VC++深入详解(孙鑫) ,进阶 Windows核心编程。 Windows深入详解太深层了,对你没有必要,而且很难啃。 QT : Qt Creator快速入门_第三版__霍亚飞编著 都学会了,按照模块自己一个个重现实现把。
luj_1768 2021-02-10
  • 打赏
  • 举报
回复
消息循环:1. 系统时钟对象有关操作是否熟悉?2. 中断控制模型是否理解?3. 系统可监控事件? 4. 注册表系统? 5. 服务监控管理器? 6. 消息循环就是:应用把需要处理的系统可监控事件注册到系统注册表类似的机制中,系统监测到需要处理的事件就触发一个预约的信号并且分发给处理该事件的程序或者代码,该代码段就会像中断响应那样执行有关的操作。 不太复杂吧?仔细梳理一下,应该就明白了。
_skytrails 2021-02-08
  • 打赏
  • 举报
回复
重写的啦
qzjhjxj 2021-02-08
  • 打赏
  • 举报
回复
用 C++ Builder ,省时省力。
donwmufromdying 2021-02-08
  • 打赏
  • 举报
回复
这种移植也不太难。除了数据类型可能有区别,主要应该就是改类的定义了。然后就是把业务逻辑拿出来修改一边。涉及到界面控件部分的要麻烦些。vc6那一套model-view-document估计你要花费时间去处理。甚至界面也要重新去自己从vc搬过来
ziqi0716 2021-02-08
  • 打赏
  • 举报
回复
想想都头疼,耗子尾汁
走好每一步 2021-02-08
  • 打赏
  • 举报
回复
重写吧,没有移植这种说法的
顾小白xx 2021-02-07
  • 打赏
  • 举报
回复
把核心的逻辑代码提炼出来,因为两者根本不通用,所以没办法直接一直,界面的代码基本算是不能用了。
  • 打赏
  • 举报
回复
很难,要重构。
小刚学長 2021-02-05
  • 打赏
  • 举报
回复
机制都不一样,移植不了 只能重写一个吧。顺便重构下,原先哪些地方不好 MFC消息,可以用qt的信号槽来替代,但两者也有本质上区别,不能直接转,会出问题的 界面UI仿仿还算快 其他CString 就是 QString 但方法上也不一样 慢慢来吧 原先C开头的,现在Q开头,部分差不多
ooolinux 2021-02-05
  • 打赏
  • 举报
回复
可以用C++ Builder,架构先进(和C#一样拖控件),入门比较容易。   C++ Builder是真正的可视化的开发工具。C++ Builder可以用鼠标拖拉控件加上设置属性轻松的“设计”出一个程序的图形用户界面,利用可视的组件/控件像“搭积木”一样,以“所见即所得”的方式搭建应用程序的界面,这也是C++ Builder这个名字中Builder的概念。这样,只需要用C++语言编写业务逻辑代码,类似于DOS下文本界面编程,只要专注于实现业务逻辑功能就可以了,代码非常简洁。数据的输入和表现,都在图形用户界面,非常直观、易用。这就是RAD开发(Rapid Application Development,快速应用程序开发)。 书籍推荐: 《C++Builder 6程序设计教程(第二版)》 (陆卫忠,刘文亮 等编著 /2011-04-01 /科学出版社)(当当网) 《C++Builder 6编程实例精解》(赵明现),PDF,是数字版的,非扫描版的,里面还有一个俄罗斯方块游戏的完整实现。 《精彩C++Builder 6程序设计》(台湾 吴逸贤),里面有10几个简单小游戏的实现,可以自己看懂以后再重写,才是自己掌握的。 《C++ Builder 5高级编程实例精解》(刘滨 编著)都是较大的实用的程序。 C++ Builder 6.0几个示例程序项目源代码下载: C++ Builder第一个程序(模拟聊天室)v1.11 C++ Builder模拟数字双时钟示例(未完成)v0.2.1 C++ Builder纸牌游戏Demo v0.03 C++ Builder不规则图像透明贴图(位图的透明显示)三种方法及简单动画v1.3 C++ Builder写的《ZEC 四则运算练习程序》 海底海星情景v0.9.2 C++ Builder简单电话簿Demo例子v1.11
  • 打赏
  • 举报
回复
推荐用C++Builder,做UI简单,而且支持消息映射,移植MFC程序比较容易。非商业开发和小型商业开发(团队不超过5人,年收入不超过$5000)可以用免费的社区版
QtHalcon 2021-02-05
  • 打赏
  • 举报
回复
首先要会QT,QT都不会怎么移植,只能说用QT去重新实现,移植的话,架构都不一样怎么移植
Tiger-3D 2021-02-04
  • 打赏
  • 举报
回复
所谓移植,就是用qt模仿一遍,需要你对MFC和qt都比较熟悉
  • 打赏
  • 举报
回复
重做UI,把逻辑从MFC项目提炼出来。
forever74 2021-02-03
  • 打赏
  • 举报
回复
寻找或制作一个夹层? 几乎算是个虚拟机了
芒果黑 2021-02-03
  • 打赏
  • 举报
回复
根据原来的功能重写吧 除非原来的MFC项目的逻辑是原生c++写的 不然挺费劲的
赵4老师 2021-02-03
  • 打赏
  • 举报
回复
《深入浅出MFC》
熊猫呀 2021-02-03
  • 打赏
  • 举报
回复
软件不大的话也还好移植。比较大的话 就麻烦了。书的话 我是看的那本 侯杰的 深入浅出mfc 你把那些宏大概整明白了 然后用QT的事件和消息机制转换下也还行。但是 大量的 CString CVector CMap 以及 mfc 原生的控件之类的就很麻烦了。估计界面这些你得重新录了。可能数据处理逻辑能重用下。我mfc 学的也是皮毛
xian0-666 2021-02-03
  • 打赏
  • 举报
回复
虽然都是图形化界面,不过差的有点多
加载更多回复(1)

64,682

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧