CString是mfc的类,qt中当然没有了。这段程序是CString转char型,qt自带的QString功能还是很强大的,其他类型字符串转char的方式也有很多。标准c++库的字符串的转换,qt中就有。首先弄清楚你需要转换的字符串的具体类型格式,然后再看看怎么转换
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编程》一书
在win平台 无论是开发效率还是运行时效率当然是MFC了,,QT相较于MFC最大的优势在于跨平台、嵌入式开发(手机)。但windows系统专门针对性对MFC进行优化、浅层封装,快,是理所当然的!再加上visual studio这等IDE开发工具神器辅助,选用MFC应该是比较明智的。
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就轻松很多了。
1、整体来说可能MFC会快捷一些,因为windows平台的开发工具大多很智能,因为立足于windows的开发人群很广,从菜鸟到专业人士,但是QT由于基于Linux,可用的开发工具不多,大都比较专业,多是第三方产品。
2、集成度不大,第三方库也没有MFC的多,从这一点MFC略胜一筹,但是QT自从被Nokia收购后,官方发布了跨平台集成开发环境QTCreator,所以之后走向就不好说了,个人总体感觉QT Creator和VSnet差距比较大,还需改进。
3、但是从库本身来说QT集成的功能较MFC庞大,而且使用的封装技术信号和槽也是比较受到赞许的,比如QT Script为QT提供嵌入式脚本,QT界面库支持CSS,所以QT做出来的界面比MFC要好,而且比较容易,MFC就需要借助第三方库了。
4、因为MFC是浅层封装(最新的2008 sp1加入了BCG的高级界面库,可能有所改善)windows SDK,以降低使用windows SDK引起的开发效率的降低,和开发难度的增加。
5、所以QT库是比MFC优秀的,两个库都经受了时间的考验,稳定性都很高,Bug几乎没有。
Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,易于扩展,允许组件编程。支持跨平台。
MFC是一个微软公司提供的类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。不支持跨平台。
MFC(微软基础类库)是专门为windows设计的一个用于开发图形用户界面的类库。MFC或多或少使用了面向对象的方法包装了Win32的API,正因如此,这些API有时是C++,有时是C,甚至是C和C++的混合体。
Qt这个C++的图形库由Trolltech在1994年左右开发。它可以运行在Windows,Mac OSX, Unix,还有像Sharp Zaurus这类嵌入式系统中。Qt是完全面向对象的。Document/View modelMFC编程需要使用Document/View模式以及模板(template),如果不使用的话,编程将变得异常困难。而且,模板(template)设定了固定的结构,若所需结构乃模板未定义之结构,则编程难已。例如,划分一区域使显示两个视图(view)于两个文档(document)。还有一个经常的问题是:模板(template)创建了视图(view)却无法访问(access)它,文档(document)要做完所有事情,但是这经常会出现问题。 (这种数据和视图分开的设计模式也是一种不错的模式,不应该成为否定MFC的理由)Qt不强制使用任何设计模式。如果你认为恰当,使用Document/view没有任何问题。不使用也没有任何问题
以上就是关于qt 中没有CString 类型的数据MFC程序如何转换成Qt程序全部的内容,包括:qt 中没有CString 类型的数据MFC程序如何转换成Qt程序、对于一个初学者,MFC和Qt哪个好下手、想做windows界面程序,应该mfc还是qt或者其他,优势或者差别是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)