Qt:windows下Qt安装教程-程序员宅基地

技术标签: C++  c++  qt  windows  

软件下载

Qt5.12下载网址: http://download.qt.io/archive/qt/5.12/5.12.2/

注意: 官网很慢,所以我们一般是使用国内镜像网站:

清华大学:https://mirrors.tuna.tsinghua.edu.cn/qt/official_releases/qt/
中国互联网络信息中心:https://mirrors.cnnic.cn/qt/official_releases/qt/
中国科学技术大学:http://mirrors.ustc.edu.cn/qtproject/official_releases/qt/

在这里插入图片描述

注意:安装时尽量选择某个高的版本,比如你要安装qt5.14.x系列的版本,目前有qt5.14.0、qt5.14.2、qt5.14.3,那就选择qt5.14.3
例子:不要安装qt5.14.0,因为没有办法打包,是官方bug。这个bug在qt5.14.2和qt5.14.3中得到了解决

将 Qt 软件的下载地址复制到迅雷的下载框,如果迅雷官方有资源,就会自动识别,下载速度就很快了。

如何找到 Qt 软件的下载地址呢?以清华大学开源软件镜像站为例,进入 Qt 5.9.0 的下载目录(https://mirrors.tuna.tsinghua.edu.cn/qt/archive/qt/5.12/5.12.0/),在某个链接处单击鼠标右键,会弹出一个菜单,选择“复制链接地址”,如下图所示:
在这里插入图片描述
然后再粘贴到迅雷的下载框即可

下载好之后的安装包:
在这里插入图片描述

目录说明(可以不看)

Qt 官网有一个专门的资源下载网站,所有的开发环境和相关工具都可以从这里下载,具体地址是: http://download.qt.io/
在这里插入图片描述

项目 说明
snapshots 预览版,最新的开发测试中的 Qt 库和开发工具。
online Qt 在线安装源。
official_releases 正式发布版,是与开发版相对的稳定版 Qt 库和开发工具(可以下载Qt开发环境和源代码)
ministro 迷你版,目前是针对 Android 的版本。
learning 有学习 Qt 的文档教程和示范视频。
development_releases 开发版,有新的和旧的不稳定版本,在 Qt 开发过程中的非正式版本。
community_releases 社区定制的 Qt 库,Tizen 版 Qt 以及 Qt 附加源码包。
archive 各种 Qt 开发工具安装包,新旧都有(可以下载 Qt 开发环境和源代码)。

archive 和 official_releases 两个目录都有最新的 Qt 开发环境安装包,我们以 archive 目录里的内容为例来说明。点击进入 archive 目录:

在这里插入图片描述

项目 说明
vsaddin 这是 Qt 针对 Visual Studio 集成的插件
qtcreator 这是 Qt 官方的集成开发工具,但是 qtcreator 本身是个空壳,它没有编译套件和 Qt 开发库。除了老版本的 Qt 4 需要手动下载 qtcreator、编译套件、Qt 开发库进行搭配之外,一般用不到。对于我们教程压根不需要下载它,因为 Qt 5 有专门的大安装包,里面包含开发需要的东西,并且能自动配置好。
qt 这是 Qt 开发环境的下载目录,我们刚说的 Qt 5 的大安装包就在这里面。
online_installers 在线安装器,国内用户不建议使用,在线安装是龟速,还经常断线。我们教程采用的全部是离线的大安装包。

我们再进入 qt 子目录 ,看到如下列表:
在这里插入图片描述
这个 qt 目录包含了所有的 Qt 版本,从 1.0 到目前的 6.0。

进入 5.12 目录,会看到各种子版本:
在这里插入图片描述
这里解释一下 Qt 的版本号,比如 5.12.8 是完整的 Qt 版本号,第一个数字 5 是大版本号(major),第二个数字 12 是小版本号(minor),第三个数字 8 是补丁号(patch)。 只要前面两个数字相同,Qt 的特性就是一致的,最后的数字是对该版本的补丁更新。也就是说本教程对 5.12.* 系列的 Qt 都是通用的,下载5.12.* 任意一个版本都可以,这里我们以下载 5.12.2。

点击5.12.2:
在这里插入图片描述
我们以 Windows 安装包(qt-opensource-windows-x86-5.9.0.exe)讲解一下 Qt 安装包命名规则,其中:

  • opensource 是指开源版本;
  • windows 是指开发环境的操作系统;
  • x86 是指 32 位系统;
  • 5.9.0 是 Qt 版本号。

软件安装

Step1: 管理员权限运行安装包, 稍等片刻, 然后点击next

在这里插入图片描述
Step2: 如果没有账号, 则选择skip,不过现在已经不允许skip了,必须先注册一个

在这里插入图片描述
Step3: Qt设置欢迎界面, 选择下一步
在这里插入图片描述
Step4: 选择安装路径
在这里插入图片描述
Step5: 选择组件, 然后选择下一步
在这里插入图片描述
Qt 的安装组件分为两部分:一部分是“Qt xxx.xxx”分类下的,该分类包含的是真正的 Qt 开发库组件;另一部分是“Tools”分类下的,该分类包含的是集成开发环境和编译工具。

“Qt xxx.xxx”组件说明:(一般选择MinGW xxx, Qt xxx就可以了)

组件 说明
MSVC *** 针对 Windows 平台上的 MSVC 编译器的 Qt 组件,如 msvc2015 32-bit 和 msvc2015 64-bit 等。安装该组件需要计算机上已经安装相应版本的 Visual Studio。
MinGW *** 编译器模块。MinGW 是 Minimalist GNU for Windows 的缩写,MinGW 是 Windows 平台上使用的 GNU 工具集导入库的集合。
UWP *** WP 是 Windows 10 中 Universal Windows Platform 的简称,有不同编译器类型的 UWP,属于 MSVC 编译器生成的 Qt 库。如果不是开发 UWP 应用程序,就不需要,直接忽略。
Android *** 这是针对安卓应用开发的 Qt 库,一般情况下用不到
Sources Qt 的源代码包,除非你想阅读 Qt 的源码,否则不用安装。 建议选择,因为某个时候你可能需要它
Qt *** Qt 的附加模块,大部分建议安装,这些附加模块括号里的 TP 是指 Technology Preview ,技术预览模块的意思,还处在功能测试阶段,不是正式版模块;附加模块括号里的 Deprecated 是指抛弃的旧模块,兼容旧代码使用的,一般用不到(如果不是为和以前开发的源程序兼容,过时的模块不要选择)。这些附加模块读者可以选择部分或都勾选了安装,占用空间不大。

部分组件说明:

  • Qt Charts 是二维图表模块,用于绘制柱状图、饼图、曲线图等常用二维图表。
  • Qt Data Visualization 是三维数据图表模块,用于数据的三维显示,如散点的三维空间分布、三维曲面等。

“Tools”分类下的开发组件(一般选择Qt Creator xxx 和MinGW xxxxx)

组件 说明
Qt Creator xxx 这是集成开发环境,强制安装的,以后所有的项目和代码都在 Qt Creator 里面新建和编辑。
Qt Creator xxxx CDB Debugger surpport 用于和 CDB 调试工具对接,默认安装,一般用于调试 VC 编译的 Qt 程序。
MinGW xxxxx 这是开源的编译器套件,建议安装
Strawberry Perl 5.22.1.3 用于编译 Qt 源代码的 Perl 开发环境,不需要安装。如果读者以后用到,也可以另外手动安装,在搜索引擎搜索 Strawberry Perl 关键词,去 Strawberry Perl 官网下载最新的安装包是一样用的。

Step6: 同意许可协议, 然后选择下一步

在这里插入图片描述

Step7: 开始菜单快捷方式
可以修改在菜单中显示的名字, 然后下一步
在这里插入图片描述

Step8: 点击安装即可
在这里插入图片描述
Step9: 选择下一步
在这里插入图片描述
Step10: 完成Qt向导
在这里插入图片描述
Step11: 完成安装, 打开软件
在这里插入图片描述

安装完成之后,在 Windows“开始”菜单中会看到 Qt 的 程序组。
在这里插入图片描述

程序 说明
Assistant(Qt 助手) 用来查看帮助文档,已被集成在 Qt Creator 中。
Designer(Qt 设计师) 图形界面可视化编辑工具,已被集成在 Qt Creator 中,在 Qt Creator 中编辑或创建界面文件时,就可以自动打开。
Linguist(Qt 语言家) 多国语言翻译支持工具,可以用来编辑语言资源文件,在开发多语言界面的应用程序时会用到。
Qt 5.xx.x(MinGW 5.3.0 32bit) Qt 命令行工具,用来配置 Qt 开发环境(主要是设置 PATH 变量)

测试是否安装成功

运行qt示例测试是否安装成功

qt自带了很多小例子,是我们学习的好帮手。运行方法:

step1:打开软件,进入欢迎–>示例,然后随便点击一个实例

在这里插入图片描述
step2:点击config project
在这里插入图片描述
step:这个时候它会调到编辑页面,可以看出打开了这个项目,接下来我们就可以运行这个项目了

在这里插入图片描述

新建项目测试是否安装成功

Step1: 新建一个项目
在这里插入图片描述
Step2: 选择Qt控件项目
在这里插入图片描述
Step3: 项目介绍和位置
在这里插入图片描述
Step4: 选择Kit

在这里插入图片描述
Step5: 类信息

默认即可
在这里插入图片描述
Step6: 项目管理
在这里插入图片描述
Step7: 运行项目
在这里插入图片描述
Step8: 结果测试

如果出现一个窗口, 表示软件已经安装好了

在这里插入图片描述

Qt安装目录结构说明

Qt 整体目录结构

不同版本 Qt 的安装目录结构大同小异,本节我们以 Qt 5.9.0 为例来说明,如下图所示。
在这里插入图片描述
注意,~\5.9\ 和 ~\Tools\ 目录下都有 mingw53_32 目录(图中我用红色标出来了),但是两者是有区别的:

  • ~\5.9\mingw53_32\ 目录包含的是 Qt 的类库文件,例如头文件、静态库、动态库等,这些类库文件使用 MinGW 工具集编译而成。
  • ~\Tools\mingw53_32\ 目录包含的是 MinGW 工具集,例如编译器 g++、链接器 ld、make 工具、打包工具 ar 等。

QtCreator 使用 MSVC2015 编译生成的,所以安装目录里有一个 vcredist 文件夹存储 VC 运行库安装文件。

MaintenanceTool.exe ,对于离线安装包,它只能用于删除软件包,如果 Qt 开发环境是用在线安装方式装的,这个工具还可以管理开发环境组件和升级组件

Qt 类库的帮助文件位于 Docs 文件夹里,需要用 Qt Assistant 工具才能查看

Examples 里是示例代码,可以用 QtCreator 集成开发环境打开各个示例。

Qt 类库目录

在这里插入图片描述

Qt用到的开发工具

Qt 不是凭空产生的,它是基于现有工具链打造而成的,它所使用的编译器、链接器、调试器等都不是自己的,Qt 官方只是开发了上层工具。下面我们分几个部分讲解 Qt 使用到的工具链。

GNU 工具集

在上个世纪八十年代,计算机都是奢侈品,操作系统里最著名的是 Unix 家族, 当时还没有 Windows、Linux 之类的,Unix 系统都是商业软件,里面的应用软件也是商业软件, 全是封闭的环境。

系统程序员 Richard M. Stallman (RMS) 在此环境下创立了与众不同的 GNU 项目 (GNU’s Not Unix) , 以及推进自由软件发展的 Free Software Foundation (FSF) 自由软件基金会。

GNU 项目是为了创建自由的类 Unix 系统,也因此开发出来很多开源的系统工具,其中非常著名的就是 GCC (GNU Compiler Collection,GNU编译器套件)。

现在我们知道,GUN 开发类 Unix 系统的项目失败了,但是它开发的一系列工具集却用到了后来的 Linux 内核上,两者结合形成了今天的各种 Linux 发行版

在 GNU 工具集里面,开发时常见到的几个罗列如下(这些工具通常位于 Linux 或 Unix 系统里的 /usr/bin/ 目录):

工具 说明
gcc GNU C 语言编译器
g++ GNU C++ 语言编译器。
ld GNU 链接器,将目标文件和库文件链接起来,创建可执行程序和动态链接库。
ar 生成静态库 .a ,可以编辑和管理静态链接库。
make 生成器,可以根据 makefile 文件自动编译链接生成可执行程序或库文件。
gdb 调试器,用于调试可执行程序。
ldd 查看可执行文件依赖的共享库(扩展名 .so,也叫动态链接库)。

MinGW

原本 GNU 工具只在 Linux/Unix 系统里才有,随着 Windows 系统的广泛使用, 为了在 Windows 系统里可以使用 GNU 工具,诞生了 MinGW(Minimalist GNU for Windows) 项目,利用 MinGW 就可以生成 Windows 里面的 exe 程序和 dll 链接库。

需要注意的是,MinGW 与 Linux/Unix 系统里 GNU 工具集的有些区别:

  • MinGW 里面工具带有扩展名 .exe, Linux/Unix 系统里工具通常都是没有扩展名的。
  • MinGW 里面的生成器文件名为 mingw32-make.exe,Linux/Unix 系统里就叫 make。
  • MinGW 在链接时是链接到 *.a库引用文件,生成的可执行程序运行时依赖 *.dll,而 Linux/Unix 系统里链接时和运行时都是使用*.so

另外 MinGW 里也没有 ldd 工具,因为 Windows 不使用 .so 共享库文件。如果要查看 Windows 里可执行文件的依赖库,需要使用微软自家的 Dependency Walker 工具。Windows 里面动态库扩展名为 .dll,MinGW 可以通过 dlltool 来生成用于创建和使用动态链接库需要的文件,如 .def 和 .lib。

MinGW 原本是用于生成 32 位程序的,随着 64 位系统流行起来, 从 MinGW 分离出来了 MinGW-w64 项目,该项目同时支持生成 64 位和 32 位程序。Qt 的 MinGW 版本库就是使用 MinGW-w64 项目里面的工具集生成的。

如今, MinGW 现已被 MinGW-w64 所取代。感兴趣的可以阅读 win10:mingw-w64安装教程

MSYS(Minimal SYStem)

由于ming-gw本身主要是编译链接等工具和头文件、库文件,并不包含系统管理,文件操作之类的shell环境,这对希望用类Unix命令的开发者来说是不够用的。所以MinWG官方又推出了MSYS(Minimal SYStem),相当于是一个部署在Windows系统中的小型Unix系统环境,移植了很多Unix/Linux命令行和配置文件等,是对MinGW的扩展。

MSYS 对于熟悉 Unix/Linux 系统环境或者要尝试学习 Unix/Linux 系统的人都是一种便利。MSYS 和 MinGW 的安装升级都是通过其官方的 mingw-get 工具实现,二者是统一下载安装管理的。

对于 MinGW-w64 项目,它对应的小型系统环境叫 MSYS2(Minimal SYStem 2),MSYS2 是 MSYS 的衍生版,不仅支持 64 位系统和 32 位系统,还有自己的独特的软件包管理工具,它从 Arch Linux 系统里移植了 pacman 软件管理工具,所以装了 MSYS2 之后,可以直接通过 pacman 来下载安装软件,而且可以自动解决依赖关系、方便系统升级等。装了 MSYS2 之后,不需要自己去下载 MinGW-w64,可以直接用 pacman 命令安装编译链接工具和 git 工具等。

Qt工具集

工具 说明
qmake 核心的项目构建工具,可以生成跨平台的 .pro 项目文件,并能依据不同操作系统和编译工具生成相应的 Makefile,用于构建可执行程序或链接库
uic User Interface Compiler,用户界面编译器,Qt 使用 XML 语法格式的 .ui 文件定义用户界面,uic 根据 .ui 文件生成用于创建用户界面的 C++ 代码头文件,比如 ui_*****.h 。
moc Meta-Object Compiler,元对象编译器,moc 处理 C++ 头文件的类定义里面的 Q_OBJECT 宏,它会生成源代码文件,比如 moc_*****.cpp ,其中包含相应类的元对象代码,元对象代码主要用于实现 Qt 信号/槽机制、运行时类型定义、动态属性系统。
rcc Resource Compiler,资源文件编译器,负责在项目构建过程中编译 .qrc 资源文件,将资源嵌入到最终的 Qt 程序里。
qtcreator 集成开发环境,包含项目生成管理、代码编辑、图形界面可视化编辑、 编译生成、程序调试、上下文帮助、版本控制系统集成等众多功能, 还支持手机和嵌入式设备的程序生成部署。
assistant Qt 助手,帮助文档浏览查询工具,Qt 库所有模块和开发工具的帮助文档、示例代码等都可以检索到,是 Qt 开发必备神器,也可用于自学 Qt。
designer Qt 设计师,专门用于可视化编辑图形用户界面(所见即所得),生成 .ui 文件用于 Qt 项目。
linguist Qt 语言家,代码里用 tr() 宏包裹的就是可翻译的字符串,开发人员可用 lupdate 命令生成项目的待翻译字符串文件 .ts,用 linguist 翻译多国语言 .ts ,翻译完成后用 lrelease 命令生成 .qm 文件,然后就可用于多国语言界面显示。
qmlscene 在 Qt 4.x 里是用 qmlviewer 进行 QML 程序的原型设计和测试,Qt 5 用 qmlscene 取代了旧的 qmlviewer。新的 qmlscene 另外还支持 Qt 5 中的新特性 scenegraph 。

Qt卸载

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

继续下一步,确定就可以了

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zhizhengguan/article/details/107567449

智能推荐

log4qt-程序员宅基地

文章浏览阅读1.2k次。12.4-在Qt中使用Log4Qt输出Log文件,看这一篇就足够了一、为啥要使用第三方Log库,而不用平台自带的Log库二、Log4j系列库的功能介绍与基本概念三、Log4Qt库的基本介绍四、将Log4qt组装成为一个单独模块五、使用配置文件的方式配置Log4Qt六、使用代码的方式配置Log4Qt七、在Qt工程中引入Log4Qt库模块的方法八、获取示例中的源代码一、为啥要使用第三方Log库,而不用平台自带的Log库首先要说明的是,在平时开发和调试中开发平台自带的“打印输出”已经足够了。但_log4qt

第一次参加Android项目(BLE模块开发)_android保存ble设备实体类-程序员宅基地

文章浏览阅读482次。关于xUtils框架导入xUtils包在build.gradle(Module:app)下的"dependencies"加入以下代码:implementation 'org.xutils:xutils:3.5.0'添加权限在AndroidManifest.xml中添加以下代码:<!-- xutils3 需要的存储和联网权限 --><uses-permission ..._android保存ble设备实体类

数据分析之数据预处理、分析建模、可视化_针对实训中某一问题,采用数据分析工具应包含且不限于问题建模、数据处理、数据分-程序员宅基地

文章浏览阅读9.3w次,点赞627次,收藏5k次。概述:简介、思路、发展历程、应用领域、开发流程;数据类型:结构化与非结构化、定性与定量、截面数据与时间序列数据;数据来源:外部来源、内部来源;数据预处理:数据清洗、数据集成、数据规约、数据变换;数据分析模型:对比分析、漏斗分析、留存分析、A/B测试、用户行为路径分析、用户分群、用户画像分析等;数据分析方法:描述统计、假设检验、信度分析、相关分析、方差分析、回归分析、聚类分析、判别分析、主成分分析、因子分析、时间序列分析等;数据可视化:Excel、PowerBI、Tableau、Python;_针对实训中某一问题,采用数据分析工具应包含且不限于问题建模、数据处理、数据分

Android:drawable汇总_android drawable.setlevel-程序员宅基地

文章浏览阅读473次。drawable类型,除了前几篇详细讲解的shape、selector、layer-list,还有上一篇提到的color、bitmap、clip、scale、inset、transition、rotate、animated-rotate、lever-list等等,本_android drawable.setlevel

Java调优—Btrace监控Java线程/方法执行参数、执行时间(Windows)_java有没有可以监控整个调用栈的调用时间-程序员宅基地

文章浏览阅读5.1k次,点赞5次,收藏6次。Windows环境下jvisualvm+Btrace 监控Java程序一、背景 在项目开发中,想要监控程序,我们可以本地启动项目,然后断点调试,可是对于线上的项目需要监控或者调试的时候,就没什么办法,目前有以下几种监控方式:1、通过日志监控。通过代码中写的日志记录,来跟踪程序的执行,但是无法监控程序执行时间2、通过JConsole跟踪和监控程序:参考3、通过Btrace来跟踪和监控程序今天我们要说_java有没有可以监控整个调用栈的调用时间

编写自己的jQuery提示框(Tip)插件_jquery tip-程序员宅基地

文章浏览阅读477次。这篇文章主要介绍了编写自己的jQuery提示框(Tip)插件的方法,需要的朋友可以参考下对jQuery相信很多同学和我一样平时都是拿来主义,没办法,要怪只能怪jQuery太火了,各种插件基本能满足平时的要求。但是这毕竟不是长久之道,古人云:“授之以鱼,不如授之以渔”。为了方便之前没有接触的同学,先来回顾一下jQuery的插件机制吧。复制代码代码如下:_jquery tip

随便推点

使用tfidf加权的word2vec来计算文本向量_文本向量的加权运算-程序员宅基地

文章浏览阅读4.8k次,点赞4次,收藏14次。使用tfidf加权的word2vec来计算文本向量,可以用来计算文本相似度首先根据训练数据计算出word2vec和tfidf_model然后预测每句时,用tfidf_model计算每个词的tfidf再用每个词的word2vec与tfidf相乘,最后取平均得到文本向量这里面有个问题,希望会的同学能帮忙解答tfidf用到了文档频率,训练数据的文档频率可以获取。当预测每个文档时,其他的文档对tfidf模型不可见,那么是如何计算的呢,是用预测文档的tf与训练数据的idf相乘做计算嘛?..._文本向量的加权运算

Ubuntu Matlab 2014b Setup_安装matlab2014b,出现setup停止工作-程序员宅基地

文章浏览阅读1.3k次。1. 先上材料:http://bbs.feng.com/read-htm-tid-8467093.html2.我安装的时候是先把iso文件解压出来然后把解压目录下的 /java/jar/install.jar 用crack压缩包里的install.jar替换 安装的时候可能会遇到权限的问题,用chmod命令增加权限3.安装的时候断网_安装matlab2014b,出现setup停止工作

android--设置TextView部分文字的颜色和背景(高亮显示)-程序员宅基地

文章浏览阅读2.3k次。转载自:http://bbs.9ria.com/thread-234291-1-1.html设置部分文字背景高亮显示代码:复制到剪贴板 Java代码public class HighLightActivity extends Activity { String strs="我的心太乱了,给我点空白。";

【HTML】3,文字颜色、加粗、倾斜-程序员宅基地

文章浏览阅读3.6k次。文字的颜色,加粗,倾斜,一共3个常用的标记用法。

基于ssm的电子病历系统论文-程序员宅基地

文章浏览阅读454次,点赞6次,收藏9次。1.1 研究背景智慧养老是面向居家老人、社区及养老机构的传感网系统与信息平台,并在此基础上提供实时、快捷、高效、低成本的,物联化、互联化、智能化的养老服务。随着科技进步,新型养老方式日趋流行,社会上也涌现出一系列如只为父母设计的电视盒子等高科技产品,提升老人的晚年生活质量,最大程度的解决空巢老人寂寞的问题,是智慧养老,候鸟式养老,信息化养老,中国式养老的新形式。智慧养老经过一年多的良好运营与快速成长,获得了政府、行业、公众及媒体的广泛关注与认可。让老人充分享受物联网带来的便捷和舒适。

Vue-Cropper头像裁剪插件使用_前端 头像截取插架-程序员宅基地

文章浏览阅读1.1k次,点赞23次,收藏16次。官网地址:[_前端 头像截取插架