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