Qt 显示图片

Qt显示图片我所知道的有三种方式:

1.QLabel显示图片

使用手动添加的ui控件QLabel显示图片。这种方式把图片显示出来,放大缩小等操作并不是很方便。(对不起,我错了,我太年轻了,这种也是可以进行很多操作的)

cpp 复制代码
QImage *image = new QImage;
image->load(图片路径);//QString类型的路径
ui->label_2->setPixmap(QPixmap::fromImage(image).scaled(ui->label_2->size()));

2.QGraphicsView显示图片

我们先看一下官方的解释:

QGraphicsScene类提供了一个用于管理大量2D图形项目的界面。该类充当QGraphicsltems的容器。它与QGraphicsView一起用于在2D表面上可视化图形项。QGraphicsScene是图形视图框架的一部分QGraphicsScene还提供了一些功能,可以让您高效地确定项目的位置,以及确定在场景的任意区域中哪些项目是可见的。使用QGraphicsView小部件,您可以可视化整个场景。

请注意,QGraphicsScene本身没有可视外观;它只管理项目。您需要创建QGraphicsView小部件来可视化场景。

直接用代码来解释吧:

首先我们得创建一个QGraphicsScene用来存储要显示的东西的,它是一个容器。然后我们往容器里面添加要显示的东西,也就是图片(fileName代表的是图片路径)。之后我们将这个容器借助QGraphicsView显示出来。请注意,QGraphicsScene本身没有可视外观;它只管理项目。您需要创建QGraphicsView小部件来可视化场景。最后播放QGraphicsView。

cpp 复制代码
//创建显示容器
QGraphicsScene *scene = new QGraphicsScene;
//向容器中添加文件路径为fileName(QString类型)的文件
scene->addPixmap(QPixmap(fileName));
//借助graphicsView(QGraphicsView类)控件显示容器的内容
ui->graphicsView->setScene(scene);
//开始显示
ui->graphicsView->show();
/*-----------------------------以下为注释-------------------------------*/
/*
ui->graphicsView这个是显示图片的控件,可以手动创建,也可以在ui界面创建,手动创建如下
QGraphicsView *控件名 = new QGraphicsView( 需要显示的容器名,this );
QGraphicsScene *scene;
QGraphicsView *view = new QGraphicsView( scene,this );
scene->addPixmap(QPixmap(文件路径) );
view->show();
原文地址:https://zhidao.baidu.com/question/105949720.html
*/

3.opencv显示图片

opencv显示就真的只是简简单单的显示图片了,好像显示之后并不能干什么事情

cpp 复制代码
cv::Mat inputImage = cv::imread(图片路径);
//显示图片
cv::imshow("Display Image",inputImage);

需要引入opencv库文件,有vs的Qt引入就只需要加入库文件,lib库就可以了

相关推荐
fie88895 分钟前
浅谈几种js设计模式
开发语言·javascript·设计模式
喝可乐的布偶猫12 分钟前
Java类变量(静态变量)
java·开发语言·jvm
喝可乐的布偶猫1 小时前
韩顺平之第九章综合练习-----------房屋出租管理系统
java·开发语言·ide·eclipse
江山如画,佳人北望1 小时前
C#程序入门
开发语言·windows·c#
牵牛老人1 小时前
Qt处理USB摄像头开发说明与QtMultimedia与V4L2融合应用
stm32·单片机·qt
coding随想2 小时前
JavaScript中的BOM:Window对象全解析
开发语言·javascript·ecmascript
念九_ysl3 小时前
Java 使用 OpenHTMLToPDF + Batik 将含 SVG 遮罩的 HTML 转为 PDF 的完整实践
java·开发语言·pdf
yaoxin5211233 小时前
124. Java 泛型 - 有界类型参数
java·开发语言
liulilittle3 小时前
深度剖析:OPENPPP2 libtcpip 实现原理与架构设计
开发语言·网络·c++·tcp/ip·智能路由器·tcp·通信
88号技师3 小时前
2025年6月一区-田忌赛马优化算法Tianji’s horse racing optimization-附Matlab免费代码
开发语言·算法·matlab·优化算法