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。
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。
使用Qt开发的软件,相同的代码可以在任何支持的平台上编译与运行,而不需要修改源代码。会自动依平台的不同,表现平台特有的图形界面风格。
Qt5采用新的模块化代码库,使得移植更加简单。只需移植所需模块即可。这点在进行源码编译时非常有用,Qt5将所有功能模块分为三部分:Qt基本模块(Qt Essentials),Qt扩展模块(Qt Add-Ons),Qt开发工具(Qt tools)。
Qt有相当多的模块,涉及文件读写、XML操作、JSON解析、正则表达式、智能指针、多线程、数据库、网络操作、图片动画显示、多媒体支持和WebKit。
Qt5.2 更包含串口、蓝牙、手机卫星定位等功能。
如果想了解更详细的资料,请访问Qt官网关于模块部分的文档:
http://doc.qt.io/qt-5/qtmodules.html
基于Widget的图形用户界面;基于QML的新图形用户界面。
信号和槽是Qt的核心,就相当于MFC的消息传递和回调函数一样。只不过功能比MFC 消息处理的机制和回调函数更强大。
Qt 有可视化的开发工具QtCreator 或者QtDesigner。鼠标点点拖拖就可以生成满足需要的界面。
Qt可以很方便的支持多国语言。比如我们在开发时,只要在字符串放在’tr’里边,就可以使用Qt自带的工具抽取成ts文件,然后使用Qt Liguist进行翻译。
在正式学习之前,笔者当然会推荐一大波学习资料咯,废话不说,直接上菜咯。
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
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
国内论坛:
**CSDN Qt论坛 **
http://bbs.csdn.net/forums/Qt
作为中国最大的IT社区和服务平台,CSDN也在持续的关注Qt的发展,Qt技术社区也已经上线很久了,可以在里面进行知识传播 - 提问、分享自己的一些学习心得、资料等。
**QTCN开发网 **
http://www.qtcn.org
国内最早、最活跃的Qt中文社区,内容丰富、覆盖面广、在线人数众多,上面有很多热心、无私的Qt爱好者,他们会帮助初学者尽快的入门。
**Qter开源社区 **
http://www.qter.org
致力于Qt普及工作!里面富含Qter们开发的实用开源项目和作品,以及一系列优秀的原创教程 - 图文并茂、简单易学,力争帮助每一位初学者快速入门。
当然还有很多资料,博客、书籍笔者就不推荐了,百度一下就会有很多资料。当然啦,还是那句话,资料贵精不贵多,多逛逛社区,看看大牛们的博客、书籍,最重要的要多实践,方可学好QT,学习其他的也是如此,好啦,学习去吧!