Qt版本的选择与安装

2023-10-27

  1. Qt简介

Qt是当下最流行的C++开发库,也是当下最流行的跨平台开发框架之一,可开发桌面端应用、移动端应用以及嵌入式端应用,可以说能支持的系统基本都支持,它可以做GUI但功能远不止GUI。我们用的最多的还是桌面端和嵌入式端的应用,移动端应用流行度不高。

Qt涉及一整套开发流程,具有专业的全流程开发工具,如Qt Creator IDE、Qt Designer、Qt Design Studio,使用Qt可以快速高效地开发出自己想要的界面应用或控制台程序,满足学习、研究、生产需要。

点此进入Qt官网:https://www.qt.io/

  1. Qt版本的选择

Qt自从1991年诞生起,不断地发展迭代,历经的版本从Qt1、Qt2、Qt3、Qt4直到今天的Qt5、Qt6,每一代的产品都在以前的基础上完善优化,其功能越来越强大,框架性能越来越优越,成为了当今最受欢迎的跨平台开发技术之一。

直至今日,Qt1、Qt2、Qt3已经几乎无人在用,Qt4仍有不少人在使用,Qt5是主流,用的人最多,也是Qt最成熟的一代产品。Qt6是最新发布的版本,优化了框架,提高了性能,但因为是最新技术,众多开发者还没有跟上时代的步伐,毕竟成熟的技术在短时间内不容易被替换。还有很重要的一点,Qt6必须在线安装,也就是必须联网,这对于没有网络的计算机或禁止联网的办公场所是很不友好的。

2.1 C++和QML

Qt主要是由C++编写,从Qt4.7引入了一项新技术:Qt Quick,其开发语言是Qt自创的QML。QML是一种标记语言,可以非常直观且高效地写出漂亮复杂的界面。QML主要用来弥补C++在移动端的不足,QML在移动端开发界面的表现远远优于Qt C++,这是QML主要的优势之一。但QML是为开发界面而设计的语言,其在处理数据、编写算法、硬件交互等方面又是远远不足,无法与C++相比,所以就有了QML与C++交互使用这项技术,使用QML编写前端界面,C++处理后端数据,取长补短。

对于传统的桌面端应用,或在工业、科研、军用等领域,C++足以满足应用软件的需求。在本专题的Qt应用中,使用C++作为开发语言,一步一步进入Qt的世界。等到大家熟练掌握了Qt开发,那个时候如果对QML开发感兴趣,因为已经有了Qt C++的开发基础,再学习起QML就会更加得心应手。

2.2 商业版和开源版

Qt有商业版和开源版,商业版是付费的,如果购买的商业版的Qt,那么就可以得到Qt官方的售后、培训等相关服务。开源版本是免费的,而且与商业版在源码上基本一致,只是有些插件只发布在商业版。

开源版本能够开发商业应用吗?答案是可以的,但要遵循LGPL协议。LGPL协议是一个开源协议,它可以让开发者开发商业软件而不必开放源代码,当然这也是有前提条件的。LGPL协议中规定,如果你以动态链接库的形式开发应用程序,那么你可以以任何形式发布你的应用程序,商业或非商业、开源或闭源。如果你的应用程序中使用了静态链接,那么你必须在发布应用程序中包含使用到静态链接相关的源码。

幸运的是,使用Qt开源版本开发软件,对于一般的应用程序,以动态链接的形式足够满足开发需求,所以,在LGPL协议下,尽情地开发Qt程序吧,不必担心Qt软件版权和收费的问题。

  1. Qt安装与运行

3.1 Qt5的安装

Qt5的子版本有Qt5.1到Qt5.15,推荐使用5.9或5.9以后的版本,因为Qt5后期的版本更加趋向于完善和成熟。在本专题中,我们使用5.14.2版本,Qt5的其它版本安装大同小异。Qt官方的下载地址为https://download.qt.io/archive/qt/,进入之后你会发现这里只有部分版本,比如Qt5.2~Qt5.8、Qt5.10~Qt5.11版本都没有,想下载这些版本,请移步https://download.qt.io/new_archive/qt/

我们找到5.14,进入找到5.14.2,再进入找到qt-opensource-windows-x86-5.14.2.exe,这是Windows版本(Win7及以上系统),如果在其它平台,请选择对应的安装包,安装过程也大同小异。点击下载安装包,该安装包2.28GB。因为服务器在国外,下载速度有时候正常,有时候特别慢,大家可以去网上找国内的镜像,下载速度很快。

下载的安装包可以在联网或不联网的情况下安装,区别在于联网的情况下需要填入账号才能继续安装,而不联网的情况下直接安装不需要账号。这里以联网为例进行安装,下载完成后,点击安装包,弹出以下界面:

点击next,进入以下界面:

因为联网,就必须填写你的Qt账号,如果没有,可以去官网注册一个。点击next,进入以下界面:

勾选左下角勾选框,表示你已经阅读并同意了使用开源Qt的义务,点击下一步,进入以下界面:

点击下一步,进入以下界面:

默认安装在C盘,我这里更改安装路径到E盘,点击下一步,进入以下界面:

红色标注的MSVC是用于windows下的visual studio编译的,Qt在windows平台下开发,visual studio编译速度更快,但只能用于windows平台开发,无法跨平台。

蓝色标注的MinGw是用于跨平台编译,编写的一套代码可以在windows、linux、 mac os等平台上编译并运行。如果你不是visual studio的狂热者,非visual studio不用,或有必须在visual studio下开发的需求,则推荐安装MinGW版本的Qt,开发方便且能够跨平台,何乐而不为呢。我们发现,这里MinGW有32位和64位可选,64位的MinGW编译是Qt5后期才发布在开源版本中,64位编译出来的应用程序按理说要比32位编译出来的应用程序运行速度更快,但这也与计算机硬件有关。我们习惯于32位版本的开发,而且很多第三方库都是在32位编译器下编译的,所以使用32位MinGW更方便我们的Qt应用开发。

绿色标注的是功能模块的选择,可以依据需要安装对应的模块。我这里把能装的都装上,以防以后用到。

其它默认,点击下一步,进入以下界面:

这里有我们前面提到的LGPL协议,选择左下角“我已经阅读并同意包含在许可证协议中的项”,点击下一步,进入以下界面:

创建Qt程序的“开始”菜单,默认,点击下一步,进入以下界面:

准备安装,点击下一步,进入安装界面,等待安装完成,如下:

点击下一步,进入以下界面:

勾选运行Qt Creator,点击完成,稍等片刻,出现Qt Creator开始界面:

出现这个界面就表示安装完成。

3.2 Qt5的运行

在Qt Creator开始界面点击左上角的示例,会出现Qt安装自带的示例,这些示例可以作为学习研究的程序demo,也可以从中学习到许多控件和技巧。我们挑选一个C++编写的简单示例:

打开后出现以下配置界面:

这里红框处就是安装时选择的MinGW 32-bit编译工具链,点击“Configure Project”,进入源码编辑界面:

左下角有Debug、Profile和Release三种编译模式选择,Debug模式编译下的程序因为加入了许多调试信息,所以编译出的程序体积偏大、运行偏慢(相比于Release模式)。Release模式编译下的程序可以直接作为发布程序发布。我一般都是使用Release模式编译程序,程序运行过程中直接查看输出日志调试程序。

左下角还有三个按钮,分别为运行、Debug和编译按钮,点击编译按钮程序只编译不运行,点击运行按钮程序先编译后运行,点击Debug按钮程序进入在线调试,可以打断点、在线查看变量等中间信息。这里我们直接点击运行按钮,等待编译完成并运行程序:

示例运行成功,这是一个简单的加法计算程序,到此Qt安装并运行成功。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Qt版本的选择与安装 的相关文章

随机推荐

  • 关于硬件问题造成的MCU死机,过来人简单的谈一谈

    关于MCU死机问题 近期小编在出差期间遇到多起 且原因不同 所以 今日小白借此机会讲一讲因硬件问题造成的MCU死机 MCU不良 在遇到死机问题时 已经可以判定是硬件原因造成的前提下 大多人的选择是交叉验证MCU 先判定是否是MCU单体不良造
  • 软考-嵌入式系统设计师-笔记:嵌入式系统的项目开发与维护

    文章目录 系统开发过程及其项目管理 过程模型 过程评估 软件能力成熟度模型 CMM 能力成熟度模型集成 CMMI 工具与环境 ISO ICE 25010系统和软件质量模型 系统分析知识 系统设计知识 系统设计概述 结构化设计 面向对象设计
  • 接口的静态方法

    静态接口方法 从java开始 接口当中允许使用静态方法 public static 返回值类型 方法名称 参数列表 方法体 提示 就是将abstract或者default换成static即可 带上方法体 方法样式 public interf
  • 老版本的 mybatis-generator 使用示例

    文章目录 main 入口 generatorConfig xml log4j properties main 入口 import java io File import java util ArrayList import java uti
  • c++返回数组引用的函数(4种方法)

    分享返回数组引用的4种方法 普通法 类型别名 尾置返回类型 decltype include
  • CSS层叠上下文

    在学习z index属性的时候 限制了能够使用z index属性的元素 那么为什么有的元素能够使用z index 因为他创建了一个层叠上下文 对于这个词的理解首先要理解上下文 上下文这个名词的出现有很多地方 块级格式上下文 执行上下文 在不
  • 【转载】VC常用小技巧(2)

    项目 如何干净的删除一个类 1 先删除项目中对应的 h和 cpp文件 选中后用 Delete键删除 2 保存后退出项目 到文件夹中删除实际的 h和 cpp文件 3 删除 clw文件 4 重新进入项目 进行全部重建 rebuild all 如
  • 批处理常用命令及用法

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 批处理常用命令及用法大全 阅读本文需要一定的dos基础概念 象 盘符 文件 目录 文件夹 子目录 根目录 当前目录每个命令的完整说明请加 参数参考微软的帮助文档可以看到 在
  • 前端 - 实习两个星期总结

    文章目录 吐槽 总结 新人建议 项目学习到的 今天已经是菜鸟实习的第二个星期了 怎么说呢 反正就是进的一个不大不小的厂 做着不难不易的事 菜鸟现在主要做的就是适配 现在就来总结一下 不过这之前 菜鸟不得不吐槽一波 吐槽 1 菜鸟进的是一家国
  • kvm常见故障及解决

    一 启动虚拟机Connection reset by peer virsh start vmhost1error Failed to start domain vmhost1error Unable to read from monitor
  • 浙江大学计算机学院最权威的老师,浙江大学计算机科学与技术专业导师介绍:郑能干...

    姓名 郑能干 性别 男 职称 副教授 在岗性质 全职在岗 学院 系 计算机科学与技术学院 招生资格类别 硕士生导师 研究方向 人工智能嵌入式系统神经信息工程普适计算 Email zng cs zju edu cn 个人简介 郑能干 男 19
  • 【计算机视觉】深度学习框架-Keras

    文章目录 1 从零开始训练网络 1 1 搭建网络基本架构 1 2 构建训练网络 1 3 启动训练网络并测试数据 2 用Keras实现一个简单神经网络 2 1 Keras简介 2 2 MNIST手写数字识别 详细解释步骤 2 2 1 数据的加
  • C++内存管理(3)——内存池

    1 默认内存管理函数的不足 为什么使用内存池 利用默认的内存管理操作符 new delete 和函数 malloc free 在堆上分配和释放内存会有一些额外的开销 系统在接收到分配一定大小内存的请求时 首先查找内部维护的内存空闲块表 并且
  • [tensorflow] eval和run的区别

    在tensorflow中 eval和run都是获取当前结点的值的一种方式 在使用eval时 若有一个 t 是Tensor对象 调用t eval 相当于调用sess run t 一下两段代码等效 float tensor tf cast tf
  • 毕设系列 - java web 项目获取方式说明

    文章目录 1 项目获取地址 2 项目包含内容 2 1 整体项目内容 3 样例 基于java web的网上招聘系统的设计与实现 3 1 系统研究背景 3 2 系统研究意义 3 3 开发环境 3 4 系统设计 3 4 1 系统设计模块 3 4
  • AOSP>设计>测试>(第三节)兼容性测试套件CTS

    AOSP gt 设计 gt 测试 gt 兼容性测试套件CTS 第三节 兼容性测试套件 CTS 概览 工作流程 测试用例的类型 涵盖的领域 设置CTS 物理环境 蓝牙 LE 信标 相机 GPS GNSS WLAN 和 IPv6 Wi Fi R
  • 基于MATLAB实现语音信号加噪与去噪的低通滤波器

    基于MATLAB实现语音信号加噪与去噪的低通滤波器 一 概述 在语音信号处理中 由于外界环境的干扰或传输过程中的噪声引入 可能导致语音信号质量下降 为了提高语音信号的清晰度和可懂度 需要对信号进行去噪处理 本文将介绍如何使用MATLAB实现
  • 启明智显分享

    提示 启明智显专为智能产品提供一站式彩屏显示 连接 云端服务 APP软件开发 维护等解决方案 帮厂商快速实现硬件的智能化 作为启明云端旗下方案公司 我们用心整理了开发小伙伴在开发过程中可能会遇到的问题以及快速上手的简明教程 同时也用心整理了
  • 最小二乘法 python实现

    最小二乘法适用于对处理的一堆数据 不必精确的经过每一点 而是根据图像到每个数据点的距离和最小确定函数 最小二乘法逼近的最简单的例子是根据一组观测值对 x1 y1 x2 y2 xn yn 来拟合一条直线 直线的数学表达式为 下面是一元线性拟合
  • Qt版本的选择与安装

    Qt简介 Qt是当下最流行的C 开发库 也是当下最流行的跨平台开发框架之一 可开发桌面端应用 移动端应用以及嵌入式端应用 可以说能支持的系统基本都支持 它可以做GUI但功能远不止GUI 我们用的最多的还是桌面端和嵌入式端的应用 移动端应用流