记录Qt和opencv 新环境配置过程

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、Qt是什么?
  • 二、Qt的版本
  • 三、安装步骤
    • 1.下载Qt
    • 2.双击安装包.exe开始安装
    • 3. 需要登陆才能继续安装,没有的就用邮箱注册账号
    • 4.注意安装路径不能有中文
    • 5. 安装资源选择,根据自己的需求来选
    • 6.同意许可,继续安装
    • 7. 安装完成
  • 四、测试是否能用
    • 1.新建工程
    • 2.opencv环境
    • 3.配置工程
    • 4.测试opencv
    • 5.注意事项
  • 总结


前言

提示:这里可以添加本文要记录的大概内容:

为外出干项目做一些环境准备工作,需要重新配置电脑环境,那首先装的肯定就是Qt了,以前安装都没做记录,这次就记录一下吧,希望对大家有用。


提示:以下是本篇文章正文内容,下面案例可供参考

一、Qt是什么?

Qt 是一个跨平台的 C++ 应用程序框架,主要用于开发 GUI 应用程序。它提供了一套完整的开发工具,包括一个完整的 GUI 设计工具,以及各种用于开发网络应用程序、数据库应用程序等的工具。Qt 提供了一种易于使用的 API,可以帮助开发者快速地构建复杂的应用程序。它还支持多种操作系统,包括 Windows、Linux、Mac OS 等。

Qt的优点包括:

  1. 跨平台:Qt可以在多种操作系统上运行,无需对源代码进行修改,真正实现了“一次编写,到处运行”。
  2. 强大的GUI设计工具:Qt提供了一套完整的GUI设计工具,使得开发者可以轻松地创建漂亮、易于使用的界面。
  3. 丰富的API:Qt提供了大量的类和函数,涵盖了GUI、网络、数据库、多线程等各个方面,使开发者能够快速地开发出复杂的应用程序。
  4. 支持多种语言:Qt不仅支持C++,还支持Python、Java等多种语言,使得开发者的选择更加多样。
  5. 活跃的社区:Qt有一个庞大的开发者社区,为Qt开发者提供了丰富的资源和支持。

然而,Qt也存在一些缺点:

  1. 学习曲线较陡峭:Qt虽然功能强大,但对于初学者来说,可能需要一段时间来熟悉。特别是对于没有C++基础的开发者来说,学习曲线可能会更长。
  2. 体积较大:由于Qt的功能丰富,其库的体积也相对较大,可能会导致应用程序的体积增大。
  3. 依赖性较强:Qt的应用程序依赖于Qt的库,如果要在没有安装Qt库的计算机上运行应用程序,需要将Qt的库一起打包。
  4. 性能问题:在某些情况下,使用Qt可能会导致应用程序的性能下降。这可能是因为Qt的事件循环和处理方式导致的。

总的来说,Qt的优点和缺点是相对的,需要根据具体的应用场景来评估是否使用Qt。

二、Qt的版本

Qt的版本分为多个系列,其中最常用的是Qt 5系列。Qt 5是一个相对较新的版本,相对于Qt 4来说,它增加了一些新的特性和改进,包括更好的性能和更现代化的界面。Qt 5系列中的每个版本都经过了精心设计和优化,以满足不同用户的需求。

此外,Qt还提供了一些其他的版本,如Qt for Device Creation和Qt for MCUs。这些版本是专门针对特定的设备或微控制器而设计的,提供了许多硬件相关的特性和工具。

总体而言,Qt的版本选择取决于具体的应用需求和开发环境。开发者应该根据项目的需求和目标选择最适合的版本。

最新的Q6.5
请查看官网更新:

https://www.qt.io/zh-cn/

三、安装步骤

1.下载Qt

可以在官网上下载
可以在百度网盘上下载,有空放一个链接在这里

目前放在移动硬盘上

在这里插入图片描述

2.双击安装包.exe开始安装

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

3. 需要登陆才能继续安装,没有的就用邮箱注册账号

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

注册后登录成功画面
在这里插入图片描述

在这里插入图片描述

4.注意安装路径不能有中文

在这里插入图片描述

5. 安装资源选择,根据自己的需求来选

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

6.同意许可,继续安装

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

7. 安装完成

安装时间根据电脑性能来决定,慢慢等吧,装了大概30分钟,点击下一步
zhzh
在这里插入图片描述

四、测试是否能用

在这里插入图片描述

1.新建工程

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

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

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


2.opencv环境

  1. 直接拷贝之前编译好的过来使用
    在这里插入图片描述
    2.添加环境变量

在这里插入图片描述
C:\opencv-4.5.0\install\install\x64\mingw\bin

在这里插入图片描述

3.配置工程

在这里插入图片描述

INCLUDEPATH += c:\opencv-4.5.0\install\install\include
DEPENDPATH +=c:\opencv-4.5.0\install\install\includeLIBS += c:\opencv-4.5.0\install\lib\libopencv_*.a

4.测试opencv

好的,下面是一个使用 Qt 和 OpenCV 的简单示例,该示例加载一个图像文件并显示在窗口中:

#include <QApplication>
#include <QLabel>
#include <opencv2/opencv.hpp>int main(int argc, char *argv[])
{QApplication app(argc, argv);// 加载图像文件cv::Mat image = cv::imread("example.jpg");// 创建 QLabel 对象并设置图像QLabel label;cv::cvtColor(image, image, cv::COLOR_BGR2RGB); // 将 OpenCV 的 BGR 格式转换为 Qt 的 RGB 格式QImage qimage = QImage((const unsigned char*)(image.data), image.cols, image.rows, image.step, QImage::Format_RGB888);label.setPixmap(QPixmap::fromImage(qimage));// 显示窗口label.show();return app.exec();
}

这个示例中,我们首先使用 QApplication 对象创建了一个 Qt 应用程序。然后,我们使用 OpenCV 的 imread 函数加载一个图像文件,并将其存储在 cv::Mat 对象中。接下来,我们创建一个 QLabel 对象,并使用 cv::cvtColor 函数将图像从 OpenCV 的 BGR 格式转换为 Qt 的 RGB 格式。最后,我们将 QImage 对象转换为 QPixmap 对象,并将其设置为 QLabel 的 pixmap,然后显示 QLabel 窗口。

5.注意事项

添加了环境变量后,电脑要重启
否则程序编译没问题,但是会停止运行

最后成功显示

在这里插入图片描述

总结

不知不觉又忙了一晚上,充实并快乐着,继续加油!2024.1.16

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

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

相关文章

AOP的入门案例(登录时间记录)

导入坐标&#xff08;pom.xml&#xff09; <dependencies><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.1</version><scope>provided</scope></depe…

细讲Labview条件结构用法及易错点

本文讲解Labview条件结构的常用情景及易错点注意事项。帮助大家深刻理解并使用该结构&#xff0c;欢迎点赞关注加评论&#xff0c;有问题可以私聊或在下方评论区留言。 本文程序均附在文章结尾&#xff0c;可自行下载学习。 博主之前讲过Labview事件结构、For循环等的基础知识介…

Visual Studio 设置编辑框(即代码编辑器)的背景颜色

在Visual Studio 中设置编辑框&#xff08;即代码编辑器&#xff09;的背景颜色&#xff0c;可以按照以下步骤进行&#xff1a; 打开Visual Studio。在菜单栏上找到并点击“工具”(Tools)选项。在下拉菜单中选择“选项”(Options)。在“选项”对话框中&#xff0c;导航至“环境…

VC++中使用OpenCV对原图像中的四边形区域做透视变换

VC中使用OpenCV对原图像中的四边形区域做透视变换 最近闲着跟着油管博主murtazahassan&#xff0c;学习了一下LEARN OPENCV C in 4 HOURS | Including 3x Projects | Computer Vision&#xff0c;对应的Github源代码地址为&#xff1a;Learn-OpenCV-cpp-in-4-Hours 视频里面讲…

企业级大数据安全架构(四)Ranger安装

作者&#xff1a;楼高 Ranger是支持审计功能的&#xff0c;安装时可以选择审计数据保存的位置&#xff0c;默认支持Solr和HDFS。HDFS的配置比较简单&#xff0c;这里就不赘述了&#xff0c;我们这里使用Ambari默认自带的Solr保存审计日志&#xff0c;下面部署Solr&#xff1a; …

【想要安利给所有人的开发工具】一款写笔记的工具——语雀

目录 &#x1f4d5;开篇 ✍使用感受 &#x1f44d;语雀的常用功能 1、导出成图片 2、导出为PDF 3、代码的模块 4、流程图 ​5、画板类 6、程序员专用区 ​7、布局和样式 8、菜单栏的功能 9、其余功能&#xff08;很多&#xff09; &#x1f697;为什么推荐语雀 &…

鸿蒙开发系列教程(四)--ArkTS语言:基础知识

1、ArkTS语言介绍 ArkTS是HarmonyOS应用开发语言。它在保持TypeScript&#xff08;简称TS&#xff09;基本语法风格的基础上&#xff0c;对TS的动态类型特性施加更严格的约束&#xff0c;引入静态类型。同时&#xff0c;提供了声明式UI、状态管理等相应的能力&#xff0c;让开…

MySQL基础笔记(8)多表查询

一.多表关系介绍 项目开发中&#xff0c;在进行数据库表结构设计时&#xff0c;会根据业务需求及业务模块之间的关系&#xff0c;分析并设计表结构&#xff0c;由于业务之间相互关联&#xff0c;所以各个表结构之间也会存在着各种联系&#xff0c;分为如下3类&#xff1a; 一对…

node.js笔记

再看一遍node.js吧 Node.js REPL&#xff08;交互解释器&#xff09;Node.js 回调函数node.js事件循环Node.js EventEmitterNode.js Buffer(缓冲区)&#xff08;二进制操作&#xff09;Node.js Stream(流) &#xff08;文件操作读取写入文件&#xff09;Node.js 模块系统Node.j…

C++ BuilderXE关于FDQuery组件记录限制设定

这样修改就可以查询返回所有记录。 TFDQuery.RecordCount,或TDateSet.RecordCount只显示了可见的50条数据&#xff0c;但实际上数据的总量超过了这个数量。为了解决这个问题&#xff0c;我们可以通过更改TFDConection.FetchOptions.RecordCountMode属性为fmTotal&#xff0c;以…

展锐T618_虎贲T618紫光展锐安卓核心板规格参数

基于紫光展锐八核T618平台的纯国产化方案&#xff0c;采用了开放的智能Android操作系统&#xff0c;并集成了4G网络、2.5G5G双频WIFI(可支持1*1 MIMO)、BLUETOOTH近距离无线传输技术以及GNSS无线定位技术。用户可以根据特定场合的需求&#xff0c;选择合适的嵌入式ARM核心模块&…

使用 Node 创建 Web 服务器

Node.js 提供了 http 模块&#xff0c;http 模块主要用于搭建 HTTP 服务端和客户端&#xff0c;使用 HTTP 服务器或客户端功能必须调用 http 模块&#xff0c;代码如下&#xff1a; var http require(http); 以下是演示一个最基本的 HTTP 服务器架构(使用 8080 端口)&#x…