1.1 Qt简介

Qt是桌面,嵌入式和移动的跨平台应用开发框架。支持的平台包括Linux,OS X,Windows,VxWorks,QNX,Android,iOS,BlackBerry,Sailfish OS等。

Qt本身不是一种编程语言。它是一个用C ++编写的框架。但它不仅仅只是一个GUI工具包,它提供了在网络,数据库,OpenGL,Web技术,传感器,通信协议(蓝牙,串行端口,NFC),XML和JSON处理,打印,PDF生成等领域的跨平台开发的模块。

Qt拥有自己的集成开发环境(IDE),名为Qt Creator。它运行在Linux,OS X和Windows上,提供智能代码完成,语法高亮,集成帮助系统,调试器和分析器集成以及所有主要版本控制系统(例如git,Bazaar)的集成。

Qt是一个跨平台的C++应用程序开发框架,被广泛用于开发GUI程序,有丰富的 API且面向对象。Qt是自由且开放源代码的软件,在GNU较宽松公共许可证条款下发布。支持广泛的编译器,包括GCC的C++编译器和Visual Studio。

1.2历史

Haavard Nord和Eirik Chambe-Eng于1991年开始开发"Qt",1994年3月4日创立公司,最早名为Quasar Technologies,然后更名为Troll Tech,然后再改为Trolltech,中文名是“奇趣科技”,2008年6月17日被NOKIA公司收购,以增强该公司在跨平台软件研发方面的实力,更名Qt Software。

2009年5月11日,诺基亚Qt Software宣布Qt源代码管理系统面向公众开放,Qt开发人员可通过为Qt以及与 Qt相关的项目贡献代码、翻译、示例以及其他内容,协助引导和塑造Qt未来的发展。为了便于这些内容的管理,Qt Software启用了基于Git和Gitorious开源项目的Web源代码管理系统。

2012年8月9日,Digia宣布已完成对诺基亚Qt业务及软件技术的全面收购,并计划将Qt应用到Android、iOS及Windows 8平台上。

目前,QT已经发布了5.10.1。

1.3支持平台

使用Qt开发的软件,相同的代码可以在任何支持的平台上编译与运行,而不需要修改源代码。会自动依平台的不同,表现平台特有的图形界面风格。

1.4 Qt模块

Qt5采用新的模块化代码库,使得移植更加简单。只需移植所需模块即可。这点在进行源码编译时非常有用,Qt5将所有功能模块分为三部分:Qt基本模块(Qt Essentials),Qt扩展模块(Qt Add-Ons),Qt开发工具(Qt tools)。

Qt有相当多的模块,涉及文件读写、XML操作、JSON解析、正则表达式、智能指针、多线程、数据库、网络操作、图片动画显示、多媒体支持和WebKit。

Qt5.2 更包含串口、蓝牙、手机卫星定位等功能。

图形界面库架构:

《QT - QT开发笔记》第1章 Qt入门简介_简介

如果想了解更详细的资料,请访问Qt官网关于模块部分的文档:

​http://doc.qt.io/qt-5/qtmodules.html​

1.5图形用户界面

基于Widget的图形用户界面;基于QML的新图形用户界面。

1.6信号和槽

信号和槽是Qt的核心,就相当于MFC的消息传递和回调函数一样。只不过功能比MFC 消息处理的机制和回调函数更强大。

1.7界面布局

Qt 有可视化的开发工具QtCreator 或者QtDesigner。鼠标点点拖拖就可以生成满足需要的界面。

1.8国家化

Qt可以很方便的支持多国语言。比如我们在开发时,只要在字符串放在’tr’里边,就可以使用Qt自带的工具抽取成ts文件,然后使用Qt Liguist进行翻译。

在正式学习之前,笔者当然会推荐一大波学习资料咯,废话不说,直接上菜咯。

Qt官网资料

Qt官网:​​https://www.qt.io​

Qt下载:​​http://www.qt.io/download​

Qt所有下载:​​http://download.qt.io/archive/qt​

Qt官方发布下载:​​http://download.qt.io/official_releases/qt​

Open Source下载:​​http://www.qt.io/download-open-source/#section-2​

Qt WiKi:​​https://wiki.qt.io/Main_Page​

GitHub & Third-Party

QtProject :​​https://github.com/qtproject​

各种强大的Qt项目及丰富的Qt库。

**Awesome Qt **:

​https://insideqt.github.io/awesome-qt​

​https://github.com/fffaraz/awesome-cpp​

​http://fffaraz.github.io/awesome-cpp​

一系列强大的C/C++框架、库、资源和其它好东西。

inqlude :​​https://inqlude.org​

Qt库存档 - 为Qt应用程序开发人员提供了所有现有的库。

**free-programming-books-zh_CN **:​​https://github.com/justjavac/free-programming-books-zh_CN​

免费的计算机编程类中文书籍

社区论坛

国外论坛:

**Qt-Centre: **一个非常全面的外国网站,有forum、wiki、docs、blogs等。

​http://www.qtcentre.org​

**Qt-forum **:比较有名的国际Qt编程论坛。

​http://www.qtforum.org​

**Qt-Apps **:可以找到很多免费的Qt应用,获得源码来学习、研究。

​http://qt-apps.org​

**KDE-Apps **::有许多KDE-Desktop相关的应用。

​http://kde-apps.org​

**Qt Software **:提供越来越多的第三方商业软件和开源软件的Qt用户社区。

​http://www.qtsoftware.com​

QUIt Coding: 一群享受前沿技术开发的人才,Qt官方大使项目的成员。

​http://quitcoding.com​

国内论坛:

 作为中国最大的IT社区和服务平台, 也在持续的关注Qt的发展,Qt技术社区也已经上线很久了,可以在里面进行知识传播 - 提问、分享自己的一些学习心得、资料等。

**QTCN开发网 **

​http://www.qtcn.org​

国内最早、最活跃的Qt中文社区,内容丰富、覆盖面广、在线人数众多,上面有很多热心、无私的Qt爱好者,他们会帮助初学者尽快的入门。

**Qter开源社区 **

​http://www.qter.org​

致力于Qt普及工作!里面富含Qter们开发的实用开源项目和作品,以及一系列优秀的原创教程 - 图文并茂、简单易学,力争帮助每一位初学者快速入门。

当然还有很多资料,博客、书籍笔者就不推荐了,百度一下就会有很多资料。当然啦,还是那句话,资料贵精不贵多,多逛逛社区,看看大牛们的博客、书籍,最重要的要多实践,方可学好QT,学习其他的也是如此,好啦,学习去吧!