认识QT以及QT的环境搭建

news/2024/11/15 3:54:12 标签: qt, 开发语言

认识QT

什么是QT?

Qt 是⼀个 跨平台的 C++ 图形⽤⼾界⾯应⽤程序框架

 

认识客户端 

现在我们所说的客户端开发其实大致分为三种:
1.网页前端开发。

2.桌面应用开发(电脑的应用层序)

3.移动应用开发。

而我们的QT的主战场就是在桌面开发客户端的,虽然现在的QT已经支持了在安卓上进行客户端开发,但是目前很少有商业公司这么做。

 

 同时,我们的客户端和用户交互的界面又可以分为两种:
1.命令行式的/终端界面 (就是那种黑框框) 比如 gcc,gdb这种,这种客户端称为TUI。

TUI一般是给程序员用的。

2.带有图形化界面的客户端,这种就不必多解释了,这种就称为GUI。

而我们的QT是编写GUI的其中一种解决方案,并且非常流行。

 

QT支持的平台 

Windows ‒ XP、Vista、Win7、Win8、Win2008、Win10 

Unix/X11 ‒ Linux、Sun Solaris、HP-UX、Compaq Tru64 UNIX、IBM AIX、SGI IRIX、FreeBSD、
BSD/OS、和其他很多 X11 平台
Macintosh ‒ Mac OS X
Embedded ‒ 有帧缓冲⽀持的嵌⼊式 Linux 平台,Windows CE
Android

 

QT之所以能这么火,这么流行,其中一个很大的原因就是QT能跨平台,一套代码就能在很多的平台上运行。 

 

QT的优点 

跨平台,⼏乎⽀持所有的平台;
接⼝简单,容易上⼿,学习 QT 框架对学习其他框架有参考意义。
⼀定程度上简化了内存回收机制;
对于这里的内存回收机制,我们直到JAVA这样的语言就有,但是C++没有,这是因为C++对性能的要求追求到了极致,所以并没有内存回收机制,QT在这里就做了一个折中处理,设计了一个半自动的内存回收机制,使其对性能的影响尽可能低。

 

开发效率⾼,能够快速的构建应⽤程序。
有很好的社区氛围,市场份额在缓慢上升。
可以进⾏嵌⼊式开发。

 

 QT的应用场景

桌⾯应⽤程序
Qt 能够创建各种类型的桌⾯应⽤程序,包括⽂件管理器、媒体播放器、绘图程序等。Qt 应⽤程序⽀持多种操作系统,可以运⾏在 Windows、Linux、macOS 等桌⾯操作系统上。
移动应⽤程序
Qt ⽀持 Android 和 IOS 移动操作系统,为应⽤程序提供了强⼤的跨平台能⼒。可以使⽤ Qt 构建各种移动应⽤程序,例如社交应⽤、游戏、娱乐等。
嵌⼊式系统
Qt 在嵌⼊式领域应⽤⾮常⼴泛,它可以构建⾯向各种设备的图形应⽤程序,在机顶盒、⻋载娱乐系统、安防监控设备等领域具有⼴泛的应⽤。

 

不过,QT最主要的战场还是桌面应用程序。

搭建QT开发环境 

QT开发环境的概述 

Qt ⽀持多种开发⼯具,其中⽐较常⽤的开发⼯具有:Qt Creator、Visual Studio、Eclipse. 

 其中:
Qt Creator是官网提供的开发QT的IDE,这种对新手也比较友好,后续我们以Qt Creator演示为主

Visual Studio开发QT功能强大,但是前期的配置比较麻烦,作为新手还是不太推荐。

Eclipse现在已经停止维护了,不如前两种。

关于QT的开发环境需要三个部分:

1.一个C++编译器,这里的编译器是指gcc这种,不是指Visual Studio这样的IDE,编译器只是IDE调用的一部分。

2.QT SDK,SDK就是指软件开发工具包。

 3.需要一个QT的集成开发环境(IDE)。

这里我们就推荐了 Qt Creator了,并且在官网上下载,可以把前面两个都搞定。

Qt Creator的下载安装 

首先进入QT的官网

右上角

 点击下载

选择开源版

点击后,往下翻找到下载按钮

 自从QT5.14版本后,QT的安装就变成了在线安装,那么安装的时候就需要我们注册账号,登录后才能安装

下好后运行

登录后进行下一步 

 然后把两个勾都选上,继续下一步

接着到后面这一步

 建议选择第二个选项,然后下一步,选择安装目录

 左下角的选项依旧推荐去掉。

接着下一步

这里我们选择QT 6.5.3,注意,这里的MinGW 11.2.0就是我们的C++编译器,这里一定要选上。 

 

 右边选中间这个即可。

然后再下一步就是安装了,然后等待就行了。

 

以上要注意,安装路径不能出现中文。

简单创建第一个QT程序

QT Creator下好后,打开

 点击文件,创建一个新文件

 然后选择第一个 QT Widgets Application

然后选择路径

 

这里的路径同样不能是中文,并且不要有空格。

接下来选额qmake

 

接着下一步选择第二个

 

语言就默认无即可,这里是为了让QT语言国际化用的

 最后就为我们的QT程序选择编译器了

我这里有两个,我们选择MinGW即可 

 然后就能看到我们的main函数了

运行一下:

 

结果:
 

就是一个白框框。

至此,一个简单的QT程序就运行成功了。

环境变量的配置 

虽然这里我们可以直接在QT Creator中运行这个程序,但是我们也想在外面运行这个QT的.exe程序,如果没有配置环境变量,那么操作系统就无法找到对应的.dll动态库,程序就运行不了。

我们对main.cpp那里右键:

这里有一个 在Explorer中显示的选项,点击:

 可以看到它所在的目录,点击build文件夹:

直到找到debug文件夹

点击debug

 发现这里就是我们之前生成的.exe文件了,点击就能直接运行了:

但是如果没有配置环境变量的话,就会报错。

接下来就是配置的步骤:
首先可以先找到QT Creator所在的目录

 

然后我们发现这里是QT Creator的bin目录

 我们要找的东西不在这里,我们选择这里的上上一级目录:
直到Tools目录中:

 这里就看到了 mingw...这个目录,进去找到bin目录

找到bin目录后,将这里的目录进行复制。

然后打开本地的高级系统设置

点击环境变量:

 

 

找到路径Path这里,选择编辑

 

然后把刚刚复制的目录新增进去即可。

 

另外在配置的时候,我们还发现了有一个系统的环境变量,我们两边都配置一下都没有事,系统那边配置了后,所有用户都能看到,而我们的普通用户配置了后,只有普通用户能看到而已。

新增完后记得要保存,至此环境变量就配置好了。

 

一些补充内容 

关于 mingw

 

另外在安装了SDK后,还有一些其它的工具

 

 

创建QT程序时的选项:
 

关于qmake

Qt 中的构建⼯具有三种可供选择,分别是:qmake、CMake、Qbs,下⾯依次介绍。
qmake: qmake 是⼀个构建⼯具(build tool),⽤于⾃动⽣成 makefile ⽂件。qmake ⽀持跨平
台构建。qmake 编辑的是⼀个后缀名为 .pro 的⽂件。
CMake:CMake 是⼀个跨平台的构建⼯具。CMake 本⾝不是⼀个编译器,其实就是⽣成⼀个让编
译器能读懂编译流程的⽂件⼯具。让 CMake ⾃动⽣成构建系统,例如 Makefile 和 Visual Studio
项⽬⽂件。CMake 是⼀个第三⽅⼯具,有⾃⼰的⽂档。
Qbs:Qbs(Qt Build Suite:Qt构建套件)同 qmake、CMake ⼀样都是构建⼯具。Qbs 号称是新
⼀代的构建⼯具,⽐ qmake 编译速度更快。Qbs 没有绑定 Qt 版本,它从项⽬⽂件的⾼级项⽬描述中⽣成⼀个正确的依赖表。⽽传统的 MakeFile ⽣成⼯具如 qmake 和 CMake ,其在⽣成 MakeFile⽂件后将实际的命令交给 Make ⼯具去执⾏。

 

Qt 官⽅声明,因市场原因,弃⽤ Qbs 。对于 Qt ⽤⼾来说,qmake 是当前使⽤最⼴泛的构建⼯具,CMake 其次。

 

自动生成类的选择:
 

 对于基类的选择,⽬前有三种基类:

QMainWindow
主窗⼝类,⼀般⽤于较为复杂的应⽤程序,除了中央客⼾区界⾯,还包括菜单栏、⼯具栏、
状态栏以及多个可停靠的⼯具对话框等

 

QWidget  
最简单、最基本的窗体程序,⾥⾯可以放置多个控件实现程序功能

 

QDialog  
基于对话框的程序,对话框⼀般⽤于弹窗,也可以⽤于主界⾯显⽰。对话框是从QWidget继
承⽽来的,并丰富了⼀些功能,如模态显⽰和返回值等

 

 

 

关于formfile

 QT中创建图形化界面的程序,有两种方式:
1.直接通过C++代码的方式创建界面

2.通过form file以图形化的方式来生成界面。

关于程序的代码解释:

 

当我们双击界面下的.ui文件后

 

 就会自动给我们弹到设计模式,我们可以通过拖拽的方式给我们的框框加内容。

 

在点回.ui文件时,就会看到

 这是一个xml格式的标签语言。

跟应用层协议有点相似。

再看看.pro文件

其实就有点像Makefile。

 但是编译QT程序其实还是会用到makefile的

 


http://www.niftyadmin.cn/n/5752610.html

相关文章

vue 依赖注入(Provide、Inject )和混入(mixins)

Prop 逐级透传问题​ 通常情况下,当我们需要从父组件向子组件传递数据时,会使用 props。想象一下这样的结构:有一些多层级嵌套的组件,形成了一棵巨大的组件树,而某个深层的子组件需要一个较远的祖先组件中的部分数据。…

Gradle 创建Spring Boot项目

在 Spring Boot 项目中,Gradle 插件可以让你更方便地管理依赖、打包、运行和测试 Spring Boot 应用。以下是如何使用 Spring Boot Gradle 插件的详细指南: 1. 引入 Spring Boot 插件 在 build.gradle 中引入 Spring Boot 插件可以为项目提供各种便捷的…

丹摩征文活动 | 丹摩智算平台:服务器虚拟化的璀璨明珠与实战秘籍

丹摩DAMODEL|让AI开发更简单!算力租赁上丹摩! 目录 一、引言 二、丹摩智算平台概述 (一)平台架构 (二)平台特点 三、服务器虚拟化基础 (一)虚拟化的概念 &#xf…

12306中如何知道用户使用的哪种登录方式?(用户名、邮箱、手机号)

手机号一定不带符号(必须为11位纯数字),邮箱一定带有符号用户名不能用纯数字用户名不能是11位的手机号格式(正则匹配)增加一个标识字段表明是手机号登录(例如:手机号 验证码,有标识…

力扣589:N叉树的先序遍历

给定一个 n 叉树的根节点 root ,返回 其节点值的 前序遍历 。 n 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。 示例 1: 输入:root [1,null,3,2,4,null,5,6] 输出&…

【大数据测试HBase数据库 — 详细教程(含实例与监控调优)】

大数据测试HBase数据库 1. 环境准备与安装1.1 安装 HBase 环境1.1.1 下载与安装 HBase1.1.2 配置 HBase 2. 功能测试2.1 创建表和插入数据2.2 查询数据2.3 更新数据2.4 删除数据2.5 查看表格结构 3. 性能测试3.1 使用 HBase 自带的性能测试工具3.2 使用 YCSB 进行性能测试 4. 容…

深入理解 React 架构从概览到核心机制

开发领域:前端开发 | AI 应用 | Web3D | 元宇宙 技术栈:JavaScript、React、ThreeJs、WebGL、Go 经验经验:6年 前端开发经验,专注于图形渲染和AI技术 开源项目:github 晓智元宇宙、数字孪生引擎、前端面试题 大家好&am…

webpack指南

​🌈个人主页:前端青山 🔥系列专栏:webpack篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来webpack篇专栏内容:webpack-指南 概念 中文: webpack | webpack中文文档 | webpack中文网 英文&…