Qt:windows下Qt安装教程

Qt:windows下Qt安装教程win10按照qt

大家好,又见面了,我是你们的朋友全栈君。

软件下载

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卸载

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/145581.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 数据结构:图(Graph)【详解】

    数据结构:图(Graph)【详解】图【知识框架】【考纲内容】图的基本概念图的存储及基本操作邻接矩阵法;邻接表法;邻接多重表;十字链表图的遍历深度优先搜索;广度优先搜索图的基本应用最小(代价)生成树;最短路径;拓扑排序;关键路径图的基本概念在线性表中,数据元素之间是被串起来的,仅有线性关系,每个数据元素只有一个直接前驱和一个直接后继。在树形结构中,数据元素之间有着明显的层次关系,并且每一层上的数据元素可能和下一层中多个元素相关,但只能和上一层中一个元素相关。图是一种较线性表和树更加复杂的数据结构。

  • js操作元素属性_如何将ajax返回的网页加载出来

    js操作元素属性_如何将ajax返回的网页加载出来session时使用sessionStorage.Storage表示存储的意思。一.设置值sessionStorage.setItem(key,value);设置元素的值,setItem.类似于服务器端的setAttribute();二.得到值vardata=sessionStorage.getItem(key);类似于服务器端的getAttribute…

    2022年10月10日
  • stringutil.isnotempty_中低腰和低腰的区别

    stringutil.isnotempty_中低腰和低腰的区别学习中遇到了这个地方,搜了一下,这位仁兄总结的挺详细,就粘了过来原文链接(https://www.cnblogs.com/dixinyunpan/p/6088612.html)isNotEmpty(str)等价于str!=null&&str.length>0isNotBlank(str)等价于str!=null&&str…

  • angularjs输入验证[通俗易懂]

    angularjs输入验证[通俗易懂]转载自:http://www.tuicool.com/articles/2Qbiqi(译)AngularJS中使用的表单验证-ZackYang时间 2013-11-1514:22:00  博客园-原创精华区原文  http://www.cnblogs.com/woshinidezhu/p/Form-validation-with-AngularJS.html主题 

  • linux分区及格式_ubuntu安装系统分区

    linux分区及格式_ubuntu安装系统分区操作环境:vmware虚机一、整体流程在使用fdisk/parted等分区工具对硬盘分区之后,是否使用LVM由用户决定: 1)可以直接对分区后的硬盘进行格式化操作,之后挂载分区; 2)也可以先用LVM逻辑卷管理工具对分区后的物理卷进行管理,之后再对逻辑卷进行格式化操作,之后挂载分区。(LVM的分区类型为8e) 使用LVM的好处是方

  • 人民币符号输入的几种方法图片_元的符号怎么打出来

    人民币符号输入的几种方法图片_元的符号怎么打出来人民币符号输入的几种方法直接利用键盘输入¥ shift+4(键盘第二行数字,中文输入法)¥Alt+41892(右侧小键盘数字,GBK,全角)¥Alt+0165(右侧小键盘数字,Unicode)C/C++输出#include<iostream>//只用C语言的话,可将这两行换为usingnamespacestd;//#includ…

    2022年10月23日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号