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 );


    }

}

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

相关推荐
代码山河4 小时前
Python就业方向全解析:后端、爬虫、数据分析、AI你选哪个?
python·学习·架构·教程·面向对象·项目
明天也要努力学习4 小时前
HTTP 协议的基本格式和 fiddler 的用法
网络协议·http·fiddler
释厄6234 小时前
AI学习层更新与跨体转移律——人类社会同构·不缺理解缺 U
人工智能·学习
小徐不徐说6 小时前
C++ 接口与插件设计:从工厂注册到 Qt 动态插件
数据库·c++·qt·系统架构·程序设计
小王C语言6 小时前
Qt常用控件:容器类控件,标题分组框、标签页(浏览器标签)
开发语言·qt
TMedical7 小时前
MedPlanning 截骨模拟矫形功能
c++·图像处理·人工智能·qt·健康医疗
cpolar技术支持8 小时前
网关加 gzip,同时开启 chunked,下载回来的包解不开:把两层编码的解压顺序与长度核对做成只读页
python·http·网络编程·socket·内网穿透
小嘉丶学长8 小时前
Day14 · 字典与集合
java·开发语言·网络·python·学习·1024程序员节
小李不想当小白9 小时前
SPI通信外设与W25Q64 (硬件SPI)(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
chari克里9 小时前
QT5.15.2 + msvc2022部署全流程说明(windows可联网环境)
开发语言·c++·qt