引言
一直在用MFC,但自己也一直在学习QT,感觉两者的区别其实不是很大,MFC的可操控性比较强,工作也一直用的MFC,几乎很少用QT,但由于过于依赖Windows的API所以移植性不好,但不管是Qt还是MFC其实都只是工具,重点还在于C++、线程、网络编程、STL、以及各种库的引用;以下是我的学习Qt的实践过程(源码会放在网盘里面)。
一、Qt与MFC的区别
(1)MFC是微软公司的基础类库,自然得天独厚,比如开发深层次的Windows应用远超Qt,但Qt也有杀手锏,那就是跨平台。
(2)运行效率MFC采用浅层封装,运行效率比较高,加上VC对Windows进行了针对性的优化,因而整体性能是比较高的,但是如果加入第三方库就不敢保证整体的高性能了。Qt库比较庞大,封装层次较深,所以运行效率比MFC低,不过在如今主流计算机系统的配置下人们不太会介意这点性能差别了。
(3)MFC是事件驱动的架构。要执行任何操作,都必须是对特定的消息作出响应;Qt的消息机制是建立在SIGNAL()发送和SLOT()接受的基础上的。
(4) 资源的添加方式
总结:MFC 和 QT 就好比 手动档车与自动档车一样,前者开发软件太累,但可控性更加高些。(进个人看法)
二、项目开发布局
该实例是基于Qt的QMainWindow类为主窗口,以QMdiArea类为多文档区域,以QTextEdit类为子窗口部件,从而实现了一个多文档编辑器的应用。
1、界面布局
向主窗口中心区域拖人一个MdiArea部件,并单击主窗口界面,按下Ctrl+G快捷键,使其处于栅格布局之中。
2、Action
这里还要注意,添加动作时,一定要使动作名称和这里的Action 编辑器中所使用的名称保持一致因为在后面的程序中还要用到它们,命名方式可以按照大家的习惯来(建议驼峰法命名)