几个c++界面库的比较
有些人说QT比MFC简单,QT封装得太好了,给初学者错觉,QT很简单。QT实现的功能比MFC更多(多到有些时候你觉得QT真TM啰唆,但是有时又体会到他啰唆得很强大很有柔性),显然比MFC代码更多,运行效率更低。但是那么多功能你要去学怎么用,有些时候还要去想他是怎么实现的,同样麻烦。QT几乎每个类都有 privat 数据类。它只提供public类给你用,而且帮助文档也只有public接口类的说明。有些时候要弄清楚,不得不看源文件。就连QT最出名的SIGNAL/SLOT机制,有多少初学者能知道SIGNAL是protected的,所以不能在类外emit。SLOT是用类自己的函数qmetacall调用,所以不管是public protected private都能接受外部信号,的啊。
QT用着很happy,但是缺点是基础资料太少了,底层的东西QT资料几乎不提,出了问题你几乎只有发呆。QT区很多朋友,用到是在用,界面等也编得好看,但是基础确实不牢靠,甚至很多基本的C++问题也在问。因为他们觉得QT是简单的,不用打好基础。但是在QT资料里面几乎没有基本知识。。
MFC /OR VC++(WIN32) 这个就不一样了,看着挺痛苦的,但是资料一大把。特别是基础知识。所以都说学会了MFC的人去学QT简单很多的原因。比如孙薪老师的那个系列。这样对事件循环等有较为深刻的认识。缺点就是MFC入门台阶太高了,有点混乱。还有什么候杰的深入浅出MFC,把RTTI等等东西写的非常清楚。这些东西就是QT里面的metaobjet。
所以我觉得:
1、如果你基础不怎么样,比如刚学了C++想找个GUI库来玩,也只是随便玩玩,QT包装很好,帮助文档也很好。你就直接用QT,反正出了某些奇怪的问题,也没关系。。
2、如果你是想学好,想学得稍微深入,我觉得QT就很难。还是先学VC的东东吧。学好了基础再用QT。QT的开发效率高是针对会用的人而言的。
3、如果有高人指导,或者环境很好,或者只用QT的很小一部分,那学QT就轻松很多了。
做UI不是MFC的强项,可以用qt或者Duilib以及winform,WPF来实现
如果不想安装几十M的.net framework安装包,可以用Duilib.
不过qt生成的文件比较大,个人倾向用Duilib.
qt的优势是跨平台。
几个c++界面库的比较的更多相关文章
- JUCE 界面库显示中文乱码问题
JUCE 界面库显示中文乱码问题 环境: Windows7 64位 旗舰版 Visual Studio Ultimate 2012 JUCE 4.1 问题描述: 直接使用juce::String存储中 ...
- BCG界面库下的Windows8 UI界面样式www.webui8.com
BCG界面库下的Windows8 UI界面样式(Metro风格)控件主要有以下一些功能: 规则的大块磁贴 支持完整键盘导航 Tile组 标题(Caption) 标题按钮(Caption buttons ...
- Win32API界面库 - Project wheels 工程基础部分完成
离上次发博文过去了好久,先是要忙一个机器人的项目,然后就是部门的事情和考试周复习,然后就到了考试周,趁着复习的间隙,拾起了寒假时候抄的界面库,修掉了从前的bug. bug1 控件显示问题 当初抄这个库 ...
- App.js – 用于移动 Web App 开发的 JS 界面库
App.js 是一个轻量级的 JavaScript UI 库,用于创建像本地应用程序的移动 Web 应用而不牺牲性能和体验.它是跨平台的,特定的UI设计,配置类似原生的过渡效果.App.js 的目的是 ...
- 【液晶模块系列基础视频】4.5.X-GUI图形界面库-进度条等函数简介
[液晶模块系列基础视频]4.5.X-GUI图形界面库-进度条等函数简介 ============================== 技术论坛:http://www.eeschool.org 博客地址 ...
- 【液晶模块系列基础视频】4.4.X-GUI图形界面库-画tab函数简介
[液晶模块系列基础视频]4.4.X-GUI图形界面库-画tab函数简介 ============================== 技术论坛:http://www.eeschool.org 博客地址 ...
- 【液晶模块系列基础视频】4.3.X-GUI图形界面库-画box函数简介
[液晶模块系列基础视频]4.3.X-GUI图形界面库-画box函数简介 ============================== 技术论坛:http://www.eeschool.org 博客地址 ...
- 【液晶模块系列基础视频】4.2.X-GUI图形界面库-画矩形函数简介
[液晶模块系列基础视频]4.2.X-GUI图形界面库-画矩形函数简介 ============================== 技术论坛:http://www.eeschool.org 博客地址: ...
- 【液晶模块系列基础视频】4.1.X-GUI图形界面库-画线画圆等函数简介
[液晶模块系列基础视频]4.1.X-GUI图形界面库-画线画圆等函数简介 ============================== 技术论坛:http://www.eeschool.org 博客地 ...
- C++100款开源界面库[转]
(声明:Alberl以后说到开源库,一般都是指著名的.或者不著名但维护至少3年以上的.那些把代码一扔就没下文的,Alberl不称之为开源库,只称为开源代码.这里并不是贬低,像Alberl前面那个系列的 ...
随机推荐
- cube.js 集成cratedb 的尝试
cratedb 提供了pg协议的兼容,我们可以直接使用pg client 连接,但是也不是完整实现pg 协议的 以下是 cube.js 集成cratedb 的一些尝试 环境准备 docker-comp ...
- 退役IV次后做题记录
退役IV次后做题记录 我啥都不会了.... AGC023 D 如果所有的楼房都在\(S\)同一边可以直接得出答案. 否则考虑最左最右两边的票数,如果左边>=右边,那么最右边会投给左边,因为就算车 ...
- UmiJS可插拔的企业级 react 应用框架,配合ant-design-pro使用
入门非常简单 # 安装 $ yarn global add umi # 或者 npm install -g umi # 新建应用 $ mkdir myapp && cd myapp # ...
- x64汇编第一讲,Vs系列配置x64环境与x86环境
目录 x64汇编环境配置 一丶x64环境配置 1.1 VS系列编译器配置X64Asm开发环境. 二丶Vs配置X86汇编环境. x64汇编环境配置 一丶x64环境配置 现在windows系统都是64位了 ...
- 【XR-4】题
题面 题解 由题,所求为方程\(y^2 = x^2 + ax + b\)的整数解数量. 两边同乘\(4\),可得\((2y)^2 = 4x^2 + 4ax + 4b\). 配方后得\((2y)^2 = ...
- WAMP配置允许外网访问、绑定域名
如果wamp默认端口已经被占用,需要修改,则打开apache目录下的,conf文件下的httpd.conf文件 如图,把框中的默认80端口修改为自己需要的端口,然后重启WAMP即可. 想要实现外网访问 ...
- 部署oVirt4.2+Gluster超融合架构
首先下载最新ovirt-node iso镜像 准备3台机器,配置为2核,16G内存,两块硬盘,1块100G装系统,1块300G做存储 node1.com(192.168.105.221) node2. ...
- Spring中为什么继承了ApplicationContextAware接口就可以使用ApplicationContext对象?
1.Spring中使用applicationContext对象 public class SpringContextUtil implements ApplicationContextAware { ...
- java定时任务框架Quartz入门与Demo搭建
- linux压缩 zip和unzip
.把/home目录下面的mydata目录压缩为mydata.zip zip -r mydata.zip mydata #压缩mydata目录 .把/home目录下面的mydata.zip解压到myda ...