首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >第一次使用Qt:如何显示图像?

第一次使用Qt:如何显示图像?
EN

Stack Overflow用户
提问于 2012-08-16 03:19:20
回答 3查看 13.8K关注 0票数 2

Noob:如何显示图像我对此非常陌生,实际上才刚刚开始。我需要弄清楚如何在屏幕上显示图像。

首先,我尝试了:

源代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QGraphicsScene scene;
    QGraphicsView view(&scene);
    QPixmap qp = QPixmap("../images/tank2.bmp");
    if(qp.isNull())
    {
        printf("Yes its null\n");
    }
    else
    {
        QGraphicsPixmapItem item(QPixmap("../images/tank2.bmp"));
        scene.addItem(&item);
    }
    view.show();
    return a.exec();

}

发自:

Qt jpg image display

它可以编译并运行,但不会显示图像。返回0,依此类推

然后我就从那开始胡闹了。我还对一些事情感到好奇:在Qt编辑器中,它们显示了磁盘上不存在的文件结构。它们有文件"Headers“、"Sources”和“Resources”,而在系统上只有一个文件夹"projectname“,所有文件都在一个文件夹中。这仅仅是为了视觉上的清晰吗?

我使用的QtCreator版本是2.4.1,运行Qt 4.7.4 64位。

我的最终目标是制作一个小工具,其中的图片是一个可点击的图标,您可以选择该图片,并可以将其放在一个更大的屏幕上,如磁贴。

另一个问题:为什么Qt有"QString“和"QChar”这样的东西?普通的c++库有什么问题吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-08-16 03:46:25

像这样测试,它是有效的。别忘了创建qrc文件。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include <QtGui/QApplication>
#include <QGraphicsScene>
#include <QGraphicsView>
#include <QGraphicsPixmapItem>
#include "mainwindow.h"
#include <stdio.h>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QGraphicsScene scene;
    QGraphicsView view(&scene);
    QPixmap qp = QPixmap(":/images/123.bmp");
    if(qp.isNull())
    {
        printf("Yes its null\n");
    }
    else
    {
        printf("HAHA");
        QGraphicsPixmapItem *item = new QGraphicsPixmapItem(QPixmap(":/images/123.bmp"));
        scene.addItem(item);
    }
    view.show();
    return a.exec();

}

下面是qrc文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<RCC>
    <qresource prefix="/">
        <file>images/123.bmp</file>
    </qresource>
</RCC>

和.pro文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
QT       += core gui
TARGET = testimage
TEMPLATE = app
SOURCES += main.cpp
RESOURCES += 123.qrc
票数 2
EN

Stack Overflow用户

发布于 2012-08-16 03:44:43

如果您只想显示一张简单的图像,那么创建一个Qlabel作为中心小部件,并调用setPixmap(),将其传递给您的图像路径

“另一个问题:为什么Qt有像"QString”和"QChar“这样的东西?普通的c++库有什么问题吗?”

是的,普通的库有很多错误--至少对于std::string是这样的。

当Qt启动时,没有很好的跨平台STL支持,标准库在Unicode和对翻译的支持方面也很差。QString在这方面做得很好--尽管我认为现代STL和boost的组合可能可以做QString能做的一切。

几乎所有的Qt类型都是自动引用计数的,所以你几乎可以忽略它们的内存管理,自由地传递它们。Qt还可以做一些技巧,因为额外的MOC编译传递意味着它具有标准C++所没有的Java式的自省。

但一般来说,您可以自由使用标准C++类型(Qt: Qt classes vs. standard C++)

票数 5
EN

Stack Overflow用户

发布于 2012-08-16 03:31:48

我想你的问题出在这里:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
    QGraphicsPixmapItem item(QPixmap("../images/tank2.bmp"));
    scene.addItem(&item); 
}

在你真正使用它之前,它就超出了你的范围。

我也很确定您的意思是要使用您之前在顶级作用域中加载的QPixmap。

一般来说,你想把你的问题限制在一个问题上……但是为了解决您的最后一个问题: QChar和QString允许Qt库对字符串做出几个假设。其中最明显的是QStrings有一个标准化的编码。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11980274

复制
相关文章
Windows下使用海康相机SDK获取图像并在Qt显示
点击上方蓝字可直接关注!方便下次阅读。如果对你有帮助,可以点个在看,让它可以帮助到更多同志
用户5908113
2020/03/11
5.2K2
Windows下使用海康相机SDK获取图像并在Qt显示
使用QT显示OpenCV读取的图片
OpenCV自带了一部分常用的GUI功能,但是更多的图像处理功能需要其他GUI框架来辅助实现,这里通过QT来显示OpenCV读取的图片。
charlee44
2020/02/25
4.2K0
使用QT显示OpenCV读取的图片
QT应用编程: 使用qcustomplot显示动态曲线、设计心电图显示页面
完整项目源码下载链接: https://download.csdn.net/download/xiaolong1126626497/18607424
DS小龙哥
2022/01/07
3.7K0
QT应用编程: 使用qcustomplot显示动态曲线、设计心电图显示页面
Qt显示Hello World
#include "widget.h" //对于 Qt 程序来说,GUI 程序是QApplication //非 GUI 程序是QCoreApplication。QApplication派生自QCoreApplication #include <QApplication> #include <QPushButton> int main(int argc, char *argv[]) { QApplication a(argc, argv); //创建一个应用程序对象,该对象有且仅有一个
zy010101
2020/04/08
5730
Qt显示Hello World
matlab使用缩放颜色显示图像-imagesc
imagesc(C) 将数组 C 中的数据显示为一个图像,该图像使用颜色图中的全部颜色。C 的每个元素指定图像的一个像素的颜色。生成的图像是一个 m×n 像素网格,其中 m 和 n 分别是 C 中的行数和列数。这些元素的行索引和列索引确定了对应像素的中心。
用户9925864
2022/12/16
2.3K0
matlab使用缩放颜色显示图像-imagesc
Qt加载XPM图像
❝XPM是一种基于ASCII编码的图像格式,一般用于创建图标。由于它是ASCII编码,很方便地在代码中使用。 ❞   Qt的QPixmap类支持XPM格式,原型如下: QPixmap::QPixmap(const char *const [] xpm)   摘取Qt源码中的"严重警告"XPM图标: static const char* const critical_xpm[]={ "32 32 4 1", ". c None", "a c #999999", "* c #ff0000", "b c #ff
Qt君
2020/05/08
1.4K0
Qt加载XPM图像
opencv显示图像
如果说我们在些项目的过程中会频繁的查看我们的图片,我们就可以直接给它封装一个方法:
淼学派对
2023/10/14
2200
opencv显示图像
Qt显示视频流——(三)
之前的两次我们已经搭建好了nginx+rtmp服务和ffmpeg推流工具,本次进行最后一步结合Qt显示视频流。
用户5908113
2019/08/23
3.2K0
Qt显示视频流——(三)
c#利用Halcon的图像显示控件显示图像
?
vv彭
2020/10/27
2.9K0
c#利用Halcon的图像显示控件显示图像
QT+QT creator+OpenCV图像灰度化
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/115569.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/10
4660
Android JetPack组件CameraX使用及修改显示图像
好久没用Kotlin写Android的代码了,刚开始写起来还有点生,不过适应了一阵也算是恢复过来了。今天这篇主要是说说Android JepPack组件中CameraX的使用,其实网上也有不少简单的例子,本篇也是参考了网的一篇文章后实现的。主要要说的还是后面,怎么在原有的图像上进行编辑显示,文末有源码的链接。
Vaccae
2020/12/17
2.6K0
Android JetPack组件CameraX使用及修改显示图像
使用opencv读入并显示一幅彩色图像,灰度化并显示,用canny算子得到图像边缘并显示
要求步骤: 1.读入彩色图像,并显示; 2.将彩色图像灰度化,并显示; 3将灰度图像,用Canny边缘算子得到图像边缘,并显示。
川川菜鸟
2021/10/18
1.2K0
图像特效显示(下)
移动是将图像看作一个整体,显示时不能像扫描那样,扫描方式有些像打开一副画,例如显示上部分的时候,下部分可以不现实,而移动则可以看成一块木板画,显示时必须按物理顺序进行,例如从上向下平移时,必须先显示下面的图像,后显示上面的图像,因此平移的算法比扫描难一些。
周旋
2022/08/07
9630
图像特效显示(下)
图像特效显示(上)
准备11月份更一个新的系列,之前看的杨淑莹老师的《数字图像处理Visual Studio C++技术实现》,里面的代码都没来得及打,而且其是基于自定义的图像类实现的,这个系列就把所有例程移植为opencv-C++实现,也就是算法逻辑用C++实现,图像对象使用opencv自带的图像类。
周旋
2022/08/07
1.1K0
图像特效显示(上)
QT应用编程: 使用QTAV得到解码视频每帧图像
参考博客: https://blog.csdn.net/xiaolong1126626497/article/details/112209279
DS小龙哥
2022/01/07
1.1K0
QT应用编程: 使用QTAV得到解码视频每帧图像
【图像篇】OpenCV图像处理(二)---图像读取与显示
在上一篇文章中,我们简要介绍了图像的基础知识,包括图像彩色通道,像素,分辨率等知识,学会这些东西,我们才能更好的理解图像处理的各种操作,今天,我们将会用上一篇文章(【图像篇】opencv图像处理(一)---图像基础知识)提到的工具--OpenCV,并用python语言调用OpenCV接口来进行实际的代码操作,一起来看看吧!
用户5410712
2022/06/01
1.1K0
【图像篇】OpenCV图像处理(二)---图像读取与显示
QT学习之如何使用Qthread(moveToThread方法)
通常在程序中需要同时做好几件事情,这时不可避免的会涉及到多线程的学习,QT学习过程中亦是如此,而QT中提供了 QThread,因为涉及到信号与槽,线程的使用也有些变化。在QThread的文档中有两种使用方法。
嵌入式小屋
2022/04/27
5K0
QT学习之如何使用Qthread(moveToThread方法)
点击加载更多

相似问题

如何使用Qt显示图像

15

使用Qt显示灰度图像

34

Qt不显示图像

23

Qt jpg图像显示

60

Qt -使用QOpenGLWidget显示图像的步骤

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文