记录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.rhkb.cn/news/239730.html

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

相关文章

linux创建文件

创建文件夹&#xff1a; mkdir folder_name其中&#xff0c;folder_name是想要创建的文件夹的名称。 例如&#xff0c;如果想在当前目录下创建一个名为 "my_folder" 的文件夹&#xff0c;可以运行以下命令&#xff1a; mkdir my_folder如果想在特定路径下创建文件…

element-ui el-table表格勾选框条件禁用,及全勾选按钮禁用, 记录

项目场景&#xff1a; 表格的部分内容是可以被勾选的&#xff0c;部分内容是不可以被勾选的 使用的是 “element-plus”: “^2.2.22”, 以上应该都是兼容的 问题描述 要求el-table表格中&#xff0c;部分内容不可以被勾选&#xff0c;全选框在没有可选内容时&#xff0c;是禁…

RK3566RK3568安卓11隐藏状态栏带接口

文章目录 前言一、创建全局变量二、设置应用添加隐藏导航栏按钮三、添加按钮功能四、动态隐藏还有显示功能五、创建系统导航栏广播接口总结 前言 关于Android系统的状态栏&#xff0c;不同的客户有不同的需求: 有些客户需要永久隐藏状态栏&#xff0c;有些客户需要在设置显示中…

Flask框架小程序后端分离开发学习笔记《1》网络知识

Flask框架小程序后端分离开发学习笔记《1》网络知识 Flask是使用python的后端&#xff0c;由于小程序需要后端开发&#xff0c;遂学习一下后端开发。 一、网址组成介绍 协议&#xff1a;http&#xff0c;https (https是加密的http)主机&#xff1a;g.cn zhihu.com之类的网址…

通义灵码 - 免费的阿里云 VS code Jetbrains AI 编码辅助工具

系列文章目录 前言 通义灵码&#xff0c;是阿里云出品的一款基于通义大模型的智能编码辅助工具&#xff0c;提供行级/函数级实时续写、自然语言生成代码、单元测试生成、代码注释生成、代码解释、研发智能问答、异常报错排查等能力&#xff0c;并针对阿里云 SDK/OpenAPI 的使用…

【Java 设计模式】创建型之建造者模式

文章目录 1. 定义2. 应用场景3. 代码实现4. 应用示例结语 在软件开发中&#xff0c;建造者模式是一种创建型设计模式&#xff0c;它将一个复杂对象的构建与其表示分离&#xff0c;使得同样的构建过程可以创建不同的表示。建造者模式通常包括一个指导者&#xff08;Director&…

如何在 SwiftUI 中实现音频图表

文章目录 前言DataPoint 结构体BarChartView 结构体ContentView 结构体实现协议实现线图总结 前言 在可访问性方面&#xff0c;图表是复杂的事物之一。iOS 15 引入了一项名为“音频图表”的新功能。 下面我们将学习如何通过使用 accessibilityChartDescriptor 视图修饰符为任…

远程开发之vscode端口转发

远程开发之vscode端口转发 涉及的软件forwarded port 通过端口转发&#xff0c;实现在本地电脑上访问远程服务器上的内网的服务。 涉及的软件 vscode、ssh forwarded port 在ports界面中的port字段&#xff0c;填需要转发的IP:PORT&#xff0c;即可转发远程服务器中的内网端…

十、Three场景实现多个物体的合并

Three场景实现多个物体的合并 目的 产品需求是让物体的光柱墙包含一个多边形的区域,二而我的多边形只能使用原型,方向,多边形。那么再研究的时候就需要将这些多边形合并成为一个形状,那么就行实现了。 原先的图形 如上图,是两个mesh组成的。首先寻找mesh合并的方法。 第…

java日志框架总结

一、日志框架简单分类介绍 java常用的日志框架、可以分为两组&#xff1a; 1、JCL、JUL、Log4j&#xff1b; 2、SLF4J、Log4j2、Logback&#xff1b; 其中第一组是比较早期的日志实现框架&#xff0c;JCL并不是具体的日志实现框架&#xff0c;JCL其实是定义了一…

网络安全笔记-SQL注入

文章目录 前言一、数据库1、Information_schema2、相关函数 二、SQL注入分类1、联合查询注入&#xff08;UNION query SQL injection&#xff09;语法 2、报错注入&#xff08;Error-based SQL injection&#xff09;报错注入分类报错函数报错注入原理 3、盲注布尔型盲注&#…

RK3568笔记八: Display子系统

modetest 是由 libdrm 提供的测试程序&#xff0c;可以查询显示设备的特性&#xff0c;进行基本的显示测试&#xff0c;以及设置显示的模式。 我们可以借助该工具来学习 Linux DRM 应用编程&#xff0c;另外为了深入分析 Rockchip DRM driver&#xff0c;有必要先了解一下这个…

1.环境部署

1.虚拟机安装redhat8系统 这个其实很简单&#xff0c;但是有一点小细节需要注意。 因为我的电脑是 16核心的&#xff0c;所以选择内核16&#xff0c;可以最大发挥虚拟机的性能 磁盘选择SATA&#xff0c;便于后期学习 将一些没用的设备移除 选择安装redhat 8 时间选择上海 选择…

逻辑回归(解决分类问题)

定义&#xff1a;逻辑回归是一种用于解决分类问题的统计学习方法。它通过对数据进行建模&#xff0c;预测一个事件发生的概率。逻辑回归通常用于二元分类问题&#xff0c;即将数据分为两个类别。它基于线性回归模型&#xff0c;但使用了逻辑函数&#xff08;也称为S形函数&…

用Python“自动连发消息”

自动连发消息&#xff0c;基本上C和Python的思路都是不停的模拟“击键”操作&#xff0c;还有一种VB的脚本写法&#xff0c;反成每种语言都能写&#xff0c;更厉害的可以用java做出个GUI界面&#xff0c;先上代码。 一 代码 import pyautogui # 鼠标 import p…

C++I/O流——(2)预定义格式的输入/输出(第二节)

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 含泪播种的人一定能含笑收获&#xff…

web前端第二次

第一题&#xff1a; <!DOCTYPE html> <html> <head><title>计算奇数和</title> </head> <body><label for"input">请输入一个正整数&#xff1a;</label><input type"number" id"input&qu…

vue2使用electron以及打包配置

1.创建项目 vue create vue-project 2.安装electron vue add electron-builder会自动安装相关依赖 安装成功后会在src下自动生成一个background.js文件就是相应的electron的配置信息 use strictimport { app, protocol, BrowserWindow } from electron import { createProto…

如何安装“MySQL在虚拟机ubuntu”win10系统?

1、 更新列表 sudo apt-get update 2、 安装MySQL服务器 sudo apt-get install mysql-server 3、 安装MySQL客户端 sudo apt-get install mysql-client 4、 配置MySQL sudo mysql_secure_installation 5、 测试MySQL systemctl status mysql.service MySQL数据库基本…

【Docker】centos中及自定义镜像,并且上传阿里云仓库可提供使用

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是平顶山大师&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的博客专栏《【Docker】centos中及自定义镜像&#xff0c;…