Qt5.7将图片数据保存到Sql Server并读取显示问题

电脑杂谈  发布时间:2020-05-20 14:13:11  来源:网络整理

qt保存大型数据_qt 解调数据上星座图_如何保存labview dbl 数据

两天前,一个朋友问我如何将图片上传到,然后从中读取和显示图片. 因为我刚刚学过Qt,所以很多事情还不清楚,然后我去百度举了一些例子,发现互联网上的例子写得很模糊. 今天我终于写了这个功能,现在我将整理出来并与大家分享.

首先,我们需要了解以下类别: QPixmap QByteArray QFile,关于在Qt中使用,您可以百度.

qt 解调数据上星座图_qt保存大型数据_如何保存labview dbl 数据

总体思路是这样的: 通过QFile类读取图片,将二进制数据存储在QByteArray中,然后将QByteArray存储在中,并在读取时在中读取二进制数据,并将其存储在QByteArray中,然后然后使用QPixmap加载要显示的QByteArray.

首先通过QFile打开文件,然后将文件内容读入QByteArray:

如何保存labview dbl 数据_qt保存大型数据_qt 解调数据上星座图

QByteArray mdata;
QFile *file=new QFile(path);
file->open(QIODevice::ReadOnly);
mdata=file->readAll();
file->close(); 

然后将QByteArray中的数据存储到中

如何保存labview dbl 数据_qt保存大型数据_qt 解调数据上星座图

QSqlQuery query;
query.prepare("UPDATE sql_cmsb SET poto = ? WHERE cms_id = 30");
query.addBindValue(mdata);
if(query.exec())
   QMessageBox::information(this,tr("提示"),tr("上传成功"));

由于我已将QSqlDatabase添加到主函数中,所以不要问我为什么不创建连接. 此时,图片存储在中. 您会发现此方法可以存储任何形式的文件(当然,我只是以这种方式推测的,而我并未练习).

qt保存大型数据_qt 解调数据上星座图_如何保存labview dbl 数据

然后我们可以继续执行第二步: 读取中的数据并显示.

QSqlQuery query;
QPixmap poto;
query.exec("select poto from sql_cmsb where cms_id=30");
query.first();
poto.loadFromData(query.value(0).toByteArray());
ui->label->setPixmap(poto);

QPixmap类具有loadFromData的成员函数,该函数可以直接从QByteArray读取数据以进行分析. 最后qt保存大型数据,标签的setPixmap方法在标签控件上显示QPixmap.

此过程结束后,如果您有兴趣,可以存储其他文件,例如exe文件,视频文件等. 请记住同时存储其文件格式,因为某些文件无法直接从内存中读取,或放置最好在本地执行其他操作,然后在操作后将其删除. 本文是我的总结qt保存大型数据,希望对他人有所帮助.


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-216618-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...