一、MFC 的介绍以及优缺点

MFC:微软基础类c++库(英语:Microsoft Foundation Classes,简称MFC),以C++类的形式封装了Windows API,并且包含一个windows应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。MFC除了是一个类库以外,还是一个框架,在vc++里新建一个MFC的工程,开发环境会自动帮你产生许多文件,同时它使用了mfcxx.dll。xx是版本,它封装了mfc内核,所以你在你的代码看不到原本的SDK编程中的消息循环等等东西,因为MFC框架帮你封装好了,这样你就可以专心的考虑你程序的逻辑,而不是这些每次编程都要重复的东西,但是由于是通用框架,没有最好的针对性,当然也就丧失了一些灵活性和效率。但是MFC的封装很浅,所以效率上损失不大。MFC或多或少使用了面向对象的方法包装了Win32的- API,正因如此,这些API有时是C++,有时是C,甚至是C和C++的混合体。

优点:MFC说白了就是微软自家的东西,所以VC自带MFC工程向导,VC对MFC支持的也很好。对于界面方面实现起来简单,易于上手,能快速的制作简单的UI界面,执行效率高,生成的EXE或者其他程序可以直接在Windows系统上执行,生成的文件体积也比较小;

缺点:

(1)MFC无法创建大小动态可变的子窗口,必须重新手动修改代码来改变窗口的位置

(2)不能跨平台,程序只能运行在Windows系统,在 Linux、Mac 系统上是别想用了。

总结:MFC适合于开发对界面美化要求不高的软件。

二、Qt的介绍以及优缺点

Qt:是一个C++的图形库由Trolltech在1994年左右开发,它可以运行在Windows,Mac OS X, Unix,还有像Sharp Zaurus这类嵌入式系统中。Qt是完全面向对象的,广泛用于开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。

优点:

(1)跨平台使用,包括Windows、linux、macos等

(2)完全面向对象,内部使用信号与槽机制,易于上手

(3)开发文档丰富,支持VS插件的形式进行开发。可以制作漂亮精美的软件UI界面。省时省力。

缺点:

(1)Qt有点过度封装,而且体积也稍大,执行效率没有MFC高,程序分发打包的时候需要将Qt的核心DLL一起随程序打包,不然程序跑步起来。当然也可以用静态库的方式编译,默认只生成一个Exe文件,但这样的话程序的体积会变的很大,不管怎么说Qt生成的文件在分发携带方面的方便性上赶不上Windows的原生程序或者MFC的程序。

总结:Qt适合于开发对界面美化要求较高的软件。

MFC 和 QT 就好比 手动档车与自动档车一样,前者开发软件太累,但可控性更加高些。

【MFC开发(1)】MFC的介绍、与Qt的区别相关推荐

  1. 使用MFC开发ActiveX控件

    摘要: 本文对COM组件中的ActiveX控件的MFC开发方法进行了介绍,讲述了用户自定义和库存属性.方法以及事件的添加方法和属性页的制作过程.使读者能够掌握基本的MFC ActiveX开发方法. 前 ...

  2. QT开发和MFC开发的经典案例

     大家来欣赏下Qt写的程序(摘自百度百科) 3DSlicer, a free open source software for visualization and medical image co ...

  3. 【MFC】MFC开发之前言

    00. 目录 文章目录 00. 目录 01. MFC概述 02. VC++简介 03. VC++和MFC 04. MFC框架 05. 为什么选择MFC 06. 附录 01. MFC概述 微软基础类库( ...

  4. 随想录(MFC开发有感)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 虽然之前也写过一些mfc的文章,但是时间长了也会忘了.对于很多同学来说,用C#开发图形界面又快又 ...

  5. VC,MFC开发技巧收集

    (mainmenu->GetSubMenu (0))->DeleteMenu(i,MF_BYPOSITION); break; } } 十五.改变应用程序的图标 缺 十六.另一种改变窗口标 ...

  6. 【Visual Studio 2019】创建 MFC 桌面程序 ( 安装 MFC 开发组件 | 创建 MFC 应用 | MFC 应用窗口编辑 | 为按钮添加点击事件 | 修改按钮文字 | 打开应用 )

    文章目录 一.安装 MFC 开发组件 二.创建 MFC 应用 三.MFC 应用窗口编辑 四.为按钮添加点击事件 五.修改按钮文字 六.打开系统其它应用 七.博客源码 一.安装 MFC 开发组件 打开 ...

  7. VC用MFC开发的圆形进度条控件

    DownLoad Src VC用MFC开发的圆形进度条控件 visualsan@yahoo.cn NUAA zss 在NBA2007游戏里,还有很多科幻电影里,经常可以看到圆形进度条.有的用来显示导弹 ...

  8. MFC开发——卡拉OK字幕制作

    依然是为了赶老师作业,又去学了点东西,然后做了个小项目.首先在开始做项目之前,说一下整体思路,要实现卡拉OK字幕效果,就要对文本类与定时器有一定的掌握,通过定时器的更新,可以实现字体颜色的变化,与字幕 ...

  9. VS2005下MFC开发的ActiveX控件的部分总结 inf 篇

    本博客转载CSDN网友http://blog.csdn.net/immc1979/archive/2007/04/20/1572222.aspx,本人觉得写得非常的实在,一看就是从实际经验中总结出来的 ...

  10. snap7-c++/MFC开发笔记

    snap7-c++/MFC开发笔记 书接上文,通过对python-snap7的库的研究,笔者掌握了上位机与plc通讯的基本原理与方法,然工业现场上位机的用户界面基本上是以c++为底层语言制作的,pyt ...

最新文章

  1. NBT:人类微生物组千万基因的参考基因集
  2. hdu4847 Wow! Such Doge! KMP
  3. 详解java方法与递归
  4. 资料分享 | python机器学习教程分享来袭
  5. 一次httpserver优化的经验和教训(silverlight游戏 - 金庸群侠传X0.5上线记)
  6. 关于电脑的基础知识_改装小白必看的汽车音响改装基础知识!
  7. hadoop2.2.0 centos6.4 编译安装详解
  8. 东芝2000ac废粉盒怎么二次利用_嘉兴秀洲区工业垃圾怎么处理
  9. Linux常用命令汇总及示例
  10. ADFS令牌解密,令牌签名证书到期处理
  11. Ubuntu 18.04卸载旧版本英伟达显卡驱动
  12. 计算机讲Word文档中的组合,电脑Word文档中两个表格如何合并
  13. bitset——定义及常用操作。
  14. Vue背景图片去白边
  15. adsl网站服务器能行不,ADSL用户个人网站服务器创建办法.docx
  16. OpenCV 陷波滤波器消除周期性噪音 C++
  17. Soft-RoCE部署及通信测试
  18. UNIX 时间戳总结
  19. 基于docker部署glusterfs
  20. pdffactory 打印字体_pdfFactory使用过程中的一些小技巧

热门文章

  1. nand flash 写数据粗略流程
  2. 三层架构和mvc的区别_谈谈对于企业级系统架构的理解
  3. python做算法题_Python 笔试常见基础算法题
  4. WIN32汇编 状态栏的使用
  5. 学生信息管理系统html代码,学生信息管理系统源代码.doc
  6. 大数据时代下的原型该怎么做?免费模版送给你
  7. 网络空间搜索引擎全方位评测
  8. Java项目实战教程分享
  9. vim代码对齐命令_vim自动对齐
  10. 物联网网络编程、Web编程综述