Qt--序

Qt
品读Qt,领略C++之美

Qt为何物

一句话说:Qt 是一个跨平台的C++图形用户界面应用程序开发框架。

何以选Qt

c++作为一门OOP语言,在其标准库中,却连基础的一些类库(比如时间日期类,文件目录类…)都没有提供,这对于开发来说极为不利,你要么自己去封装类(这就是造轮子的过程了,虽然可以学到很多,但是自己封装一来效率低下,费时费力,二来没经受时间和项目考验,不能确保安全稳定,三来封装的接口和编程风格各异,不利于开发者之间交流传播),要么使用一些第三方库,比如MFC(Microsoft Fundamental Classes微软提供的基础类库,这也是一个可以用来开发GUI程序的框架,但其开发的界面早已过时,且不能跨平台,除了一些老项目,应该没人会再使用了)、Boost(誉为C++的准标准库,大量使用了泛型编程,编程风格不是所有coder喜欢吧)。基础设施的缺乏,直接导致门槛高,在当今这个快餐式开发时代显然不受用,而JAVA在这一点就做的很好。

Q: 那为何学习Qt呢,或者C++的coder为何选择Qt?
A: Qt之与C++就犹如武者手中的利剑,C++兼容与C,同时兼具OOP,语法大而全,但基础设施却极为缺乏,就犹如武者空有强大的内功,却不通招式。Qt提供或集成了诸如字符串类、文本编解码类、日期时间类、文件目录类、I/O设备类、进程线程类、调试异常类、正则表达式、JSON、XML读写类、数学库、容器类、算法库、网络库、数据库、2D/3D渲染库、OpenGL库、图像编解码库等编程所必需的基本设施,此为还提供了webengine、multimedia、bluetooth、NFC、Positioning等额外模块。Qt所提供的GUI框架,信号与槽机制,QML界面开发方式,更是大大减少了构建ui界面的时间,且效果炫酷一流。

另外,Qt底层封装了各操作系统(Windows、Linux、OS X,Android,ios)的API,称之为Qpa(Qt Platform API),Qt上层都是基于Qpa的接口开发的,是一个很好的跨平台框架。

总结就是一句话,基础设施完善、构建UI快速、跨平台性好

Qt发展史

Qt由挪威 TrollTech 公司于1995年底出品。Trolltech 公司在 1994 年成立,但是在 1992 年,成立 Trolltech 公司的那批程序员 就已经开始设计 Qt 了,Qt 的第一个商业版本于 1995 年推出。

2008年1月31日,Nokia公司宣布通过公开竞购的方式收购TrollTech公司,旗下包括Qt在内的技术都归入Nokia旗下。并且Nokia针对自己的移动设备平台规划的需要,将Qt按不同的版本发行。Qt分为opensource开源版和commercial商业版。商业版主要是多了在嵌入式设备上开发调试的功能,此外能获得一些技术支持。

Qt目前主要存在Qt4和Qt5两个版本,Qt5版本更加模块化,将widgets模块从gui中剥离开来,之后又增加了C++11支持,引入了QML,Quick构建界面的方式。此栏目将基于Qt5.7以上的版本的讲解,widget和qml两种构建界面的方法都将涉及。

走进Qt

接触Qt已三年有余了,现在做C++的项目使用Qt越来越得心应手,所以就想到写个Qt的栏目分享并弘扬一下。一个框架或者库只有使用的人多了,才会不断的发展和优化。Qt从Qt4到Qt5,历经了各个版本的洗礼,越来越成熟稳定,qml的界面构建方式更是吸纳了html+css+js的web前端开发速度和C++编译型语言的执行速度,隐约不仅仅是一个C++库框架,更像一门扩展自C++且吸纳了其它语言优点的语言,从提供了Java-style的容器类接口和迭代器,并提供了foreach关键字可以看出。

Qt就是C++界的米其林轮胎,本栏目将不仅仅是介绍如何使用它,更会从源码的角度去赏析它,我们不提倡重复造轮子,但了解轮子的构造过程或工艺,将带给我们更多的编程思路和技巧。知其然而知其所以然,才是一个coder必备的品质。

Q: Qt的专栏已经有很多,Qt的帮助文档也很详尽,那本栏目有何特色?
A: Qt的专栏虽多,但大多数只是应用的角度,看到的只是Qt提供的类和接口,帮助文档虽详尽,却也因为详尽而不能突出重点,作为编程时不记得某个接口具体使用的参考手册很好,绝不适合框架式的学习。Qt虽开放源码,但源码何其大,总该有个地方下手,顺着经脉赏析。所以本栏目的风格就是框架式学习,模块化学习,帮助你快速理清Qt的脉络,然后在应用中欣赏Qt类和接口的设计理念,从源码中吸收雄厚的编程思想。

总结就是
学习途径:框架->模块->类和接口->实现细节
学习目的:知晓原理,灵活应用

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ithewei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值