QT——两个不同的页面之间如何传递QPixmap图片

本文介绍了如何在QT的两个不同页面间传递QPixmap图像。由于QPixmap是复杂数据类型,不能直接传递,所以使用QVariant进行包装。在PhotoDetection_page中,先将从阿里云数据库获取的base64编码的图片解码为QPixmap,然后转换为QVariant。在PhotoDetail页面,再将接收到的QVariant解包还原为QPixmap进行显示。
摘要由CSDN通过智能技术生成

    QPixmap属于复杂数据类型,不同页面之间是不能直接传递的,而QVariant不仅可以存储各种简单/复杂的数据类型,还可以直接在两个页面之间进行传递,因此可以将QPixmap包装成QVariant进行传递。

    应用前提:有两个页面PhotoDetection_page和PhotoDetail,其中PhotoDetection_page中引用了PhotoDetail,需要将PhotoDetection_page从阿里云数据库中获取到的图片数组经base64解码后传递给PhotoDetail进行一个放大的显示。

PhotoDetection_page.h:

#ifndef PHOTODETECTION_PAGE_H
#define PHOTODETECTION_PAGE_H

#include <QWidget>
#include <QDebug>
#include <QMessageBox>
#include <QTableView>
#include <QSqlQuery>
#include <QSqlTableModel>
#include <QSqlQueryModel>
#include <QByteArray>
#include <QSqlRecord>
#include <QPainter>
#include <QPixmap>
#include <QPaintEvent>
#include <QTimerEvent>
#include <QList>
#include <QVariant>
#include <QMetaType>
#include "PhotoDetail.h"

namespace Ui {
class PhotoDetection_page;
}

class PhotoDetection_p
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值