A. MFC程序向QT程序的移植,希望给一些思路
多文档可以 QMainWindow QMdiArea QWidget QApplication,用这些来替代,至于文档类,自己实现吧,没有现成的Doc-View框架,不过有Model View框架,概念不太一样
窗口(QWidget及其派生类)的刷新在paintEvent()函数中实现,字符串用QString,默认Unicode编码
多语言参考linguist 以及QObject::tr() ,具体的自己去看文档吧,这些信息足够你找到入口了
B. QT跟MFC的区别QT可以调用MFC的东西吗
亲,MFC全名微软件基础类库,Microsoft Fondation Classes。是一个微软公司提供的类库(class libraries),以C++类的形式封装了Windows的API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。是不能被QT所调用的。
C. QT和MFC的优劣
QT和MFC的优劣:
(1)开发速度
就整体而言,MFC可能会快捷一些,因为Windows平台的开发工具大多很智能,因为立足于Windows的开发人群很广,从菜鸟到专业人士(开发人员一多,技术参考就多,周围可以咨询问题的人就多)。
相比较而言,Qt基于linux,可用的开发工具不多,而且这些工具大都比较专业,多是第三方的产品,加上这些工具的集成度不高,支持的第三方库也没有支持MFC的第三方库多,因而从这一点看,MFC略胜一筹。
不过,Qt自从被诺基亚公司收购后,官方发布了跨平台集成开发环境Qt Creator,之后的走向就不好说了,作者个人的总体感觉是Qt Creator和VS差距比较大,还需要改进。
(2)运行效率
MFC采用浅层封装,运行效率比较高,加上VC对Windows进行了针对性的优化,因而整体性能是比较高的,但是如果加入第三方库就不敢保证整体的高性能了。
Qt库比较庞大,封装层次较深,所以运行效率比MFC低,但是在如今主流计算机系统的配置下,人们还会介意这点性能差别吗?
(3)应用范围
如今Windows的普及率无人能及,MFC的使用人数自然就多,相比而言,Qt主要是Linux下的开发人员在使用。MFC不支持嵌入式开发(主要是指手机平台)。
而Qt有对应的支持模块,虽然这一手机开发领域被Java碾压,但总归还是有Qt的使用空间。
(4)学习难度
Qt的封装方式比较明晰,和系统隔离得比较好,作者个人觉得学习的门槛不高。而MFC则较难精通,因为深入开发之后还需要了解SDK,否则开发出的程序比较初级。
D. QT程序调用MFC的动态链接库DLL
这个很难了,因为MFC有自己的初始化,这个一般是在程序启动的时候完成的;而qt有自己的初始化,如果你强行加入MFC的初始化,应该也可以,但是麻烦而且丑陋.
建议你把Analyse模块的逻辑抽出来,生出独立的,不依赖于界面(无论是MFC还是QT)的纯C++代码,然后以QT为界面实现原来的逻辑,最后再跟GASOOH结合起来.
E. QT、MFC、vc++之间的关系
QT的强大在于其跨平台,单就windows而言,不会比MFC强势。在NT下,qt的运行速度和资源占用率都没MFC好。
在Linux下就用Qt(C++)或者GTK(C,当然gtk也有c++的),在windows下就用MFC,跨平台就用前两个。
Qt的封装哲学较好,与系统关系低,门槛也低。而MFC想精通需要更多的时间和精力。
简单的来说:QT和MFC都是类库,VC有两种理解,一种就是指用MFC编程;另一种指的是VC的IDE开发环境。
1、如果基础好,比如刚学了C++想找个GUI库来玩,也只是随便玩玩,QT包装很好,帮助文档也很好,就直接用QT,出了某些奇怪的问题,也没关系。
2、如果是想学好,想学得稍微深入,觉得QT就很难,还是先学VC,学好了基础再用QT。QT的开发效率高是针对会用的人而言的。
3、如果有高人指导,或者环境很好,或者只用QT的很小一部分,那学QT就轻松很多了。
F. QT和MFC怎么样
1、语言本身
QT:跨平台,语法结构简单清晰。面向对象的特性体现的比MFC明显。代码写起来比较优雅,也就是说上手会快一点。
MFC:在Windows平台地位毋庸置疑,QT在windows下基本属于非主流了。个人感觉MFC相较于QT是比较杂乱的,你可以看下MFC以及QT
的实例代码,直观上就可以了解了。并且要写MFC必须要知道Windows的消息循环机制。而QT开始时并不需要了解Windows底层的东西。
2、学习资源
QT:基本上只有官方的官网和demo了,相关的开发论坛比MFC的少很多,毕竟敲MFC的人要多。
MFC:MSDN资源,对于初学者来说可能MSDN比较枯燥,相关论坛和那种问答的资源要多很多,一般初学者遇到的问题都可以看到前辈们的解决方法。
3、IDE以及开发配置
初学者应该是windows,对于MFC,一个Visual Studio就足够了。QT,用QT Creator,配置也不会太麻烦。
个人建议:QT。
推荐《精通QT4编程》一书
G. qt程序调用mfc程序
不用弄成dll吧。
QT中的QProcess可以用来启用外部程序的。应该就可以实现你要的功能。
H. 谁试过QT和Mfc 混合编程
我试过。在VS2010中安装了Qt插件,然后就可以在MFC中插入Qt代码了。
I. 在window平台下可以进行qt编程,那干吗还要在linux下进行qt编程
因为windows下的是unix-like下移植的,就像matlab一样,效率效果是不同的。而且你qt肯定需要混合编程吧,win下混合编程可搭配的程序都太残了,、lisp到shell亦或perl和汇编、数据库,没一个能打的