2023版本QT学习记录 -8- HTTP获取图片并且显示(大数据)

---------------------HTTP获取图片---------------------

🎄效果演示

🎄HTTP请求图片思维导图

🎄添加组件

🎄添加头文件

cpp 复制代码
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "qnetworkaccessmanager.h"
#include "qnetworkrequest.h"
#include "qnetworkreply.h"
#include "QDebug"
#include "qfile.h"

🎄创建对象

cpp 复制代码
QNetworkAccessManager *test;

QNetworkReply *reply;

QFile * file;

🎄关联信号和槽

cpp 复制代码
    //关联可读信号
    connect(reply, &QIODevice::readyRead, this, &MainWindow::slotReadyRead);

    //关联下载信号
    connect(reply, &QNetworkReply::downloadProgress, this, &MainWindow::downRepose);

🎄发起请求

cpp 复制代码
    //设置链接
    QNetworkRequest request;
    request.setUrl(QUrl("http://file.alapi.cn/image/comic/120112-15286032729447.jpg"));

    //发起请求
    reply = test->get(request);

🎄通过槽处理返回的数据

cpp 复制代码
void MainWindow::slotReadyRead()
{
   file->write( reply->readAll() );
}

🎄下载完成关闭文件&&显示图片

cpp 复制代码
void MainWindow::downRepose( qint64 bytesReceived, qint64 bytesTotal )
{

    qDebug() <<"资源总大小" <<  bytesTotal << "当前大小" << bytesReceived ;

    if( bytesTotal == bytesReceived )
    {
        file -> close();

        QPixmap pic("rlxy.jpg");

        pic = pic.scaled( ui->label->size() );

        ui->label->setPixmap(pic );


    }

}

---------------------代码获取查看下方---------------------

相关推荐
Tianwen_Burning2 分钟前
QT 槽和信号
qt
深蓝海拓11 分钟前
PySide6的QTimeLine详解
笔记·python·qt·学习·pyqt
GHL28427109025 分钟前
TensorFlow学习
人工智能·学习
星火开发设计27 分钟前
虚析构函数:解决子类对象的内存泄漏
java·开发语言·前端·c++·学习·算法·知识
爱搞事的程小猿1 小时前
qml自定义扩展模块
c++·qt·qml
喜欢吃燃面1 小时前
基础算法:高精度
开发语言·c++·学习·算法
new_zhou1 小时前
Windows环境c++开发dump文件生成(优化方案)
c++·windows·qt
求真求知的糖葫芦1 小时前
巴伦学习(三.一)一种可以实现阻抗变换的平面Marchand巴伦的公式推导学习笔记(中)(自用)
笔记·学习·平面·射频工程
学编程的闹钟2 小时前
C语言GetLastError函数
c语言·开发语言·学习
好好学习天天向上~~3 小时前
8_Linux学习总结_进程
linux·运维·学习