Qt 的安装以及项目的创建

目录

  • Qt简介
  • Qt 开发环境安装的过程
  • 环境变量的配置
  • Qt SDK 中的重要的工具
  • 创建一个 Qt 项目

Qt简介

开始安装教程前,首先来了解一下什么是QT。

QT(Quick Thought)是一个基于Qt库的快速应用程序开发框架。它提供了一套完整的开发工具和库,可以帮助开发者快速构建高质量的桌面和移动应用程序。支持多种语言像是:C++、Python、Ruby、Perl等等。

Qt 开发环境安装的过程

通常QT开发环境需要安装3个部分:

  1. C++编译器(gcc / cl.exe)
  2. QT SDK (软件开发工具包)
    一般window 版本的 QT SDK内置了C++编译器 mingw,mingw是window版本下的gcc/g++
  3. 需要有一个 QT 的集成开发环境(IDE)
    (1)QT 官方提供的 QT Creator:上手容易开箱即用(适合新手),不需要进行其他额外的配置,但是使用过程中会出现莫名的bug
    (2)Visual Studio:稳定、bug少,但是需要进行多种配置,出现配置错误也会更多
    (3)Eclipse:是一个IDE平台,搭建不同的插件构成不同IDE

上述提到的三个部分中,对新手来说,如果不用繁琐的配置的话,其实只需要安装QT SDK即可,另外两个部分也就安装成功了。

接下来就来到官网中下载QT SDK,点击即可跳转到官方网页中进行下载: Qt SDK下载链接

在这里插入图片描述
在这里我们可以看到很多的版本,一般来说,软件并不是越新的版本就越好。

新的版本会修复旧版本出现的bug,但是也会拓展新的功能,对新版本的功能会不会出现另外的bug这个谁也说不准。面对未知的漏洞,谁也没有踩过的坑,当然还是稳定旧版本比较靠谱,毕竟旧版本所出现的问题我们是知道的。

这里我们选择5.14这个版本

在这里插入图片描述
进去后选择5.14.0
在这里插入图片描述
这里点击下图指示进行安装
在这里插入图片描述
Qt 官网属于国外的网站,众所周知国外的网站访问速度很慢,更不用说是下载东西,尤其是下载这么大的文件。

这里推荐的解决方法是使用魔法进行下载,当然考虑到一些老铁没有魔法,下面附上安装包下载链接:
链接:https://pan.baidu.com/s/1sPunKA9jnIwHp4_dDNLI6Q?pwd=ym7w 提取码:ym7w

下载好的安装包是如下所示:
在这里插入图片描述
双击运行:
在这里插入图片描述

点击Next:

在这里插入图片描述
注册在后续操作会方便许多,当然如果不想注册直接断网,然后点击Next。

在这里插入图片描述
点击下一步
在这里插入图片描述
安装路径没有什么好说的,准备好后点击下一步

在这里插入图片描述
勾选上MinGW,前面提到过这个是C++编译器Window版本下的gcc/g++,借助滚轮往下滑
在这里插入图片描述
勾选如上图所示,接下来一直点击下一步即可完成安装。

环境变量的配置

环境变量是操作系统用来控制程序运行环境的一些参数。它可以用来指定程序在运行时所需的资源、配置和其他参数。

也可以将环境变量理解成就是一种简单的**“进程间通信”**机制

Qt SDK 的bin目录下包含了一大堆动态库和exe文件,需要将该目录加入到Path环境变量中

配置环境变量的作用是:

(1)让操作系统 / Qt Creator工具能够找到 Qt SDK 中提供的 xx.exe文件

(2)运行 Qt 程序时,能够找到对于的 xx.dll 动态库

操作如下:

在Window下的搜索框中搜索环境变量:
在这里插入图片描述
点击编辑系统环境变量:

在这里插入图片描述
点击环境变量

在这里插入图片描述
当前窗口不用关闭,此时我们找到我们刚刚安装Qt程序的目录,找到bin目录。

在这里插入图片描述

在这里小编安装到D盘当中,目录路径如下:D:\QT\5.14.2\mingw73_64\bin 将该路径进行复制。

然后回到环境变量那个窗口,找到系统变量这个位置,找到Path
在这里插入图片描述
双击进入后,将刚刚复制的路径粘贴到新的一行即可
在这里插入图片描述
点击确定,环境变量配置完成。

Qt SDK 中的重要的工具

通过以上的操作,我们将Qt SDK 软件安装包下载并且安装成功。

下面来简单介绍一下关于 Qt SDK中自带的工具程序,方便我们去理解操作这些工具。

打开开始菜单栏,找到Q字母的索引,就可以看到新安装Qt SDK工具的内容了。

在这里插入图片描述

  1. Assistant:Qt 助手,Qt 自带的离线版本的官方文档,方便我们查询某个类使用方法。
  2. Designer:Qt 设计师,图形化的设计界面工具,通过拖拽控件的方式来快速生成界面。(后续经常使用)
  3. Linguist:Qt 语言家,用于创建一个语言配置文件,把界面上需要运用到的各种文字,配置到文件中,并且将文件中提前的把各种语言的翻译都配置进去,实现 “一键式切换语言” 的效果。
  4. Qt Creator:Qt 的集成开发工具(主要的使用工具,代码编写运行都在这里面

创建一个 Qt 项目

  1. 打开Qt Creator
    在这里插入图片描述
  2. 点击文件创建一个新的项目
    在这里插入图片描述
  3. 想要使用Qt写一个GUI的程序,选择 Application 应用程序选项
    在这里插入图片描述

在右侧栏中有很多模板,我们来简单了解一下:

Qt Widgets 是Qt传统的开发GUI的方式 、 Qt Console 是开发控制台程序

在这里插入图片描述

Qt 不仅仅可以使用C++来写还可以使用python或是java等语言进行实现,也就是下面看到的这两个

在这里插入图片描述

Qt Quick 是 Qt 新搞出来的一套用来开发GUI的方式,也就是下面这四个:

在这里插入图片描述

在这里选着第一个Qt Widgets即可。然后进行下一步:

  1. 设置项目名称,还有项目保存的路径
    在这里插入图片描述
    提示:项目创建的路径中不能含有中文字符,否则运行时会报错

设置好后点击下一步

  1. 在这里可以看到三个选项分别是:qmake、CMake、Qbs
    在这里插入图片描述
    简单介绍一下 Build System:构建系统,通过Qt写的程序,涉及一系列的 元编程 技术,通过代码来生成代码。

1. qmake :老牌的 Qt 构建工具
2. CMake:CMake 不是 Qt 专属构建工具,很多开源项目都会使用到CMake
3. Qbs:新一代Qt构建工具,很少人使用,已经没有维护

在这里选择 qmake即可,然后点击下一步

在这里插入图片描述
在使用 Qt Creator 创建项目的时候,会自动生成一些代码,所生成的代码中就包含一个类,也就是 Base class

在这里插入图片描述
在这里就需要手动选择所生成的类是哪种:

1. QMainWindows: 完整的应用程序窗口(包含有 菜单栏, 工具栏, 状态栏…)
2. QWidget : 表示一个控件(窗口上的一个具体元素 输入框, 按钮, 下拉栏, 单选按钮, 复选按钮…)
3. QDialog : 表示一个对话框

创建什么样的项目选择对应的类即可, 在这里举例就选择 QWidget.

注意: Qt中的内置的类都是以Q前缀开头的

在这里插入图片描述
这里生成的文件名字和类名字都是关联的,当然也可以强制性进行修改文件名字,但是推荐名字的一致性,方便后续找对应文件.

接着往下看最后两行的内容:
在这里插入图片描述
Qt 创建图形化界面的程序, 有两种方式:

1. 直接通过C++代码的方式创建界面

2. 通过Form file, 以图形化的方式创建界面

如果我们不勾选 Generate form,那么默认的是通过第一种方式进行创建界面, 勾选了Generate form 就使用第二种方式进行创建.

使用Form file创建图形化界面最大的区别就是, 利用Qt Designer 或者 是通过 Qt Creator 来编辑这个ui文件,从而以图形化的方式快速方便的生成图形界面

在这里推荐大家勾选上,然后点击下一步:

  1. 项目语言翻译设置,选择好对应的语言后点击下一步
    在这里插入图片描述

  2. 在这里安装的时候,只安装了MinGw这个编译器. 不用管直接点击下一步

在这里插入图片描述

如果有多个编译器的话就要选择对应的编译器. 以便Qt SDK 来构建后续代码

在这里插入图片描述
这个页面是提示是否将项目托管到github 或是 gitee上面, 不托管也没关系, 直接选择None即可.

点击完成, 至此 Qt 项目的基本创建也就完成了.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/665163.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

文本检测学习笔记_CTPN

论文地址:https://arxiv.org/pdf/1609.03605.pdf 开源代码:https://github.com/lvliguoren/pytorch_ctpn?tabreadme-ov-file 本文主要的的内容 提出了一种将文本视为由密集排列的具有固定宽度的文本候选区域组成的序列的方法。这些文本候选区域可以通…

国际国内 IT行业有哪些证书含金量高?

一、前言 在信息技术飞速发展的今天,IT行业证书作为衡量专业技能和知识水平的重要标准,越来越受到业界的重视。对于IT从业者而言,拥有一些权威性的证书不仅能够证明自己的专业能力,更是职业发展的有力助推器。基于多年的行业经验…

Python中with管理上下文

上下文管理器 上下文管理器本质就是能够支持with操作。 任何实现了 __enter__() 和 __exit__() 方法的对象都可称之为上下文管理器,上下文管理器对象可以使用 with 关键字。显然,文件(file)对象也实现了上下文管理器协议。 实现…

十一、计算机分类

1、按照性能和用途分类 计算机分类 计算机按照性能、用途和规模可以分为以下几种类型: 1)巨型机(超级计算机) 采用大规模并行处理体系结构。运算速度最快、体积最大、价格最昂贵。主要用于尖端科学研究领域,如灾难预测…

《计算机网络简易速速上手小册》第2章:计算机网络协议和标准(2024 最新版)

文章目录 2.1 IPv4 与 IPv6 - 网络世界的地址簿2.1.1 基础知识2.1.2 重点案例:使用 Python 查询本机 IPv4 和 IPv6 地址2.1.3 拓展案例1:使用 Python 创建简单的 IP 地址转换工具2.1.4 拓展案例2:使用 Python 检测本地网络的 IP 版本支持 2.2…

ES6-对象的解构赋值

一、区别一下数组的解构赋值 - 对象的解构与数组有一个重要的不同。数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值二、说明 - 对象的解构赋值的内部机制&#…

【Vitis】Vitis HLS学习系列笔记 :第一个例程

在学习vitis的过程中一定要跑几个例程试试看,这中间遇到了几个小问题,记录下 有干货,请注意查收:作为新手,跑例程大概率会遇到问题,这里记录几个问题,如果刚好你也遇到,一定会帮到你…

XML详解

文章目录 XML简介语法约束DTDSchema 解析Jsoup使用对象详解JsoupDocumentElementsElementNode XML 简介 概述:Extensible Markup Language 可扩展标记语言 可扩展:标签都是自定义的。 功能 数据存储:XML 可以用来存储结构化数据&#xff0c…

HSRP配置指南

实验大纲 第 1 部分:验证连通性 步骤 1:追踪从 PC-A 到 Web 服务器的路径 步骤 2:追踪从 PC-B 到 Web 服务器的路径 步骤 3:观察当 R3 不可用时,网络的行为 第 2 部分:配置 HSRP 主用和 备用路由器 步…

rasa3.X 自定义action的注册问题

rasa3.X 自定义action的注册问题 文章目录 rasa3.X 自定义action的注册问题前言一、问题重述二、问题解决 前言 幸好在这之前抽时间稍微看了一点django源码,让我对于python的导入机制有了一个概念。虽然还不是很确切的知道python import机制,不过在看到…

QT学习日记 | 初始QT

目录 一、创建QT文件 二、目录结构讲解 1、.pro文件 2、源文件与头文件 3、编译运行 4、界面文件 三、梦开始的地方(Hello World!) 1、代码方式 2、拖拽方式 四、Qt中的“容器” 五、Qt的对象树机制 1、对象树的引入 2、对象树…

MySQL进阶之锁(全局锁以及备份报错解决)

锁 全局锁 全局锁就是对整个数据库实例加锁,加锁后整个实例就处于只读状态,后续的DML的写语句,DDL语 句,已经更新操作的事务提交语句都将被阻塞。 其典型的使用场景是做全库的逻辑备份,对所有的表进行锁定&#xff…

030-安全开发-JS应用NodeJS指南原型链污染Express框架功能实现审计

030-安全开发-JS应用&NodeJS指南&原型链污染&Express框架&功能实现&审计 #知识点: 1、NodeJS-开发环境&功能实现 2、NodeJS-安全漏洞&案例分析 3、NodeJS-开发指南&特有漏洞 演示案例: ➢环境搭建-NodeJS-解析安装&…

MySQL知识点总结(三)——事务

MySQL知识点总结(三)——事务 事务事务的四大特性ACID原子性一致性隔离性持久性 脏读、幻读、不可重复读脏读不可重复读幻读 隔离级别读未提交读已提交可重复读串行化 事务的原理InnoDB如何实现事务的ACID事务的两阶段提交redo log与binlog的区别事务两阶…

【DevOps】产品需求文档(PRD)与常见原型软件

文章目录 1、PRD介绍1.1、概述1.2、前提条件1.3、主要目的1.4、关键内容1.5、表述方式1.6、需求评审人员1.7、一般内容结构 2、需求流程3、常见原型软件3.1、Word3.2、Axure3.2.1、详细介绍3.2.2、应用分类3.2.3、优缺点 3.3、摹客RP3.4、蓝湖3.5、GUI Design Studio 1、PRD介绍…

业务流程自动化平台在制造业应用案例,助力业务自动化、智能化

捷昌驱动成立于2000年,并于2018年9月在上海证券交易所上市,是一家专注于线性驱动产品研发、生产及销售的科技集团。 公司整合全球资源,为智慧办公、医疗康护、智能家居、工业自动化等关联产业提供驱动及智能控制解决方案,以科技驱…

荣耀手机如何录屏?在线分享3个录屏方法

荣耀手机如何录屏?荣耀手机录屏是一项非常实用的功能,它可以帮助我们轻松记录手机屏幕上的内容,无论是游戏攻略、教育学习还是工作演示,都能够方便地进行录制。通过录屏,我们可以随时随地记录和分享自己的操作和见解。…

探究Steam爆款游戏”幻兽帕鲁“:玩家评价揭秘

探究Steam爆款游戏”幻兽帕鲁“:玩家评价揭秘 文章目录 探究Steam爆款游戏”幻兽帕鲁“:玩家评价揭秘1 背景描述2 数据说明3 数据来源4 问题描述5 数据探索与预处理5.1 数据加载5.2 数据清洗 6 数据分析6.1 评论分布分析6.2 评论内容情感分析6.3 地理分布…

力扣热门100题刷题笔记 - 2.两数相加

力扣热门100题 - 2.两数相加 题目链接:2.两数相加 题目描述: 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返…

图书|基于Springboot的图书管理系统设计与实现(源码+数据库+文档)

图书管理系统目录 目录 基于Springboot的图书管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、个人中心 2、管理员管理 3、用户管理 4、图书出版社管理 5、公告类型管理 6、所在书架管理 7、图书类型管理 8、论坛管理 9、公告信息管理 10、图书信…