Qt:基本介绍

Qt是什么?

Qt 是一个跨平台的 C++ 框架(C++库),主要用来开发图形用户界面(Graphical User Interface,GUI)程序,也可以开发不带界面的命令行(Command User Interface,CUI)程序。

Qt是跨平台的,支持很多操作系统,包括电脑系统 Windows、Linux、Unix,智能手机系统 Android、iOS、WinPhone, 嵌入式系统 QNX、VxWorks 等等。

Qt虽然是使用的C++语言,但不是使用的标准C++,Qt进行了一定程度的“扩展”。虽然如此,但C++仍然是基础。

目前最新的版本是 Qt5。Qt5 还包含了很多小版本,其中推荐 Qt5.6 或 Qt5.9,这两个版本是 LTS 版本(即长期支持版本),Bug较少,相对稳定。

Qt可以做什么

Qt 虽然经常被当做一个 GUI 库,用来开发图形界面应用程序,但这并不是 Qt 的全部;Qt 除了可以绘制漂亮的界面(包括控件、布局、交互),还包含很多其它功能,比如多线程、访问数据库、图像处理、音频视频处理、网络通信、文件操作等,这些 Qt 都已经内置了。

1997年,Qt 被用来开发 Linux 桌面环境 KDE,大获成功,使 Qt 成为 Linux 环境下开发 C++ GUI 程序的事实标准。

在windows操作系统上下面的程序都使用 Qt 开发:WPS、YY语音、Skype、豆瓣电台、虾米音乐、淘宝助理、千牛、暴雪的战网客户端、VirtualBox、钉钉等。

在Linux和嵌入式Qt也是主力军,广泛应用于消费类电子、工业控制、军工电子、电信/网络/通讯、航空航天、汽车电子、医疗设备、仪器仪表等相关行业。

Qt虽然也支持手机操作系统,但是还是不及手机平台自己的开发工具方便

总起来说,Qt 主要用于桌面程序开发和嵌入式开发。

Qt的历史

Qt最早是 1991 年由两个挪威人 Eirik Chambe-Eng 和 Haavard Nord 开发的, 他们随后于 1994 年 3 月 4 号正式成立奇趣科技公司(Trolltech)。Qt 原本是商业授权的跨平台开发库, 在 2000 年奇趣科技公司为开源社区发布了遵循 GPL(GNU General Public License)许可证的开源版本。在 2008 年,诺基亚公司收购了奇趣科技公司,并增加了 LGPL(GNU Lesser General Public License)的授权模式。因为诺基亚公司的问题,Qt 商业授权业务也于 2011 年 3 月出售给了芬兰 IT 服务公司 Digia。最后 Digia 于 2014 年 9 月宣布成立 Qt Company 全资子公司,独立运营 Qt 商业授权业务。经过 20 多年的发展,Qt 已经成为最优秀的跨平台开发框架之一,在各行各业的项目开发中得到广泛应用。

GPL 和 LGPL

GPL 授权:版本的软件一定还是 GPL 的开源软件,你用Qt写的程序必须开源

LGPL 授权:(第一个 L 可以叫 Lesser 宽松版或 Library 开发库版)。使用 Qt 官方动态链接库,不必开放商业代码。如果修改了动态链接库就必须开源。

Qt和MFC对比

Qt 已经封装了底层细节,简单易学,可以制作出精美的界面,一次编写到处运行。

MFC 只能在win上运行,这个框架只是给 Windows API 加了一层简单的包装,命名比较混乱,学习的话需要比较强的winAPI基础,以及十几年没有维护。

Qt开发过程及工具

编写C++Qt程序 -> uic根据.ui文件生成C++ 代码文件 -> moc翻译成原生c++代码文件 -> qmake根据.pro文件生成相应的 Makefile -> MinGW编译全部代码 -> 生成程序

特殊术语

Makefile: 即生成脚本,虽然可以直接调用编译器如 g++ 编译程序,但是如果项目里的代码文件变多了, 哪些代码文件更新了需要重新编译,哪些代码没有改不需要重新编译等等, 靠程序员自己记忆去处理是比较麻烦的事,还有哪些代码需要预处理或是链接哪些库文件, 这些都是繁杂的过程。为了规范程序的编译生成过程,产生了规范化的生成脚本,就是 Makefile , 生成器 make 可以依据规范的 Makefile 自动生成目标程序或库文件。 简单的说,就是定义好 Makefile ,让程序员只需要去关注如何编写代码, 而生成程序过程中的脏活累活都交给 make 程序。现在 Makefile 通常都有工具自动生成,如 qmake 工具, 这样就大量减轻了程序员的负担。

Project:即项目(或叫工程),这里的项目是指为实现某个相对独立功能的程序代码合集,这些代码不单单是放在一块, 而是有相互之间的关联性,并且有专门负责管理该项目的项目文件,比如 Qt 使用 .pro 文件管理项目, VC++ 则使用 .vcproj 作为项目文件。集成开发环境通常都是依据项目文件(.pro/.vcproj)管理和构建项目。

原文链接

Qt:基本介绍 -QT开发中文网Qt:基本介绍 https://qt.0voice.com/?id=933

猜你喜欢

转载自blog.csdn.net/QtCompany/article/details/130112623