qt学习:HTTP接口+实战 请求网页图片显示

头文件

  • #include <QNetworkAccessManager>
    • 网络管理者
  • #include <QNetworkReply>
    • 请求
  • #include <QNetworkRequest>
    • 响应

步骤

在pro里添加模块

复制代码
QT       += core gui network

在ui界面的.h里加入头文件,并定义一个管理者指针,槽函数

复制代码
#include <QNetworkAccessManager>
#include <QNetworkReply>
#include <QNetworkRequest>

private:
    QNetworkAccessManager *manager;

private slots:
    void onReplyDataSlot(QNetworkReply *reply);

在ui界面的构造函数里添加

复制代码
    //1、创建一个网络访问管理者对象
    manager = new QNetworkAccessManager;

    //3、当发送网络请求之后,服务器进行http应答,manager会自动发射finished信号,关联槽函数
    //在槽函数中接收应答的数据
    //void  finished(QNetworkReply *reply) reply就是服务器应答的数据包
    connect(manager,&QNetworkAccessManager::finished,this,&Widget::onReplyDataSlot);

实现点击按钮的点击事件

复制代码
    //2、实例化一个网络请求类的对象,将网络数据包放到该对象中
    QUrl url("https://lmg.jj20.com/up/allimg/4k/s/02/2109242304361221-0-lp.jpg");
    QNetworkRequest request(url);
    //发送网络请求 write
    manager->get(request);

实现槽函数

复制代码
void Widget::onReplyDataSlot(QNetworkReply *reply)
{
    //获取应答的数据,该数据就是图片的源数据
    QByteArray data = reply->readAll();
    //将图片的源数据 转换成 图片数据 并且在界面上显示出来

    QPixmap pic;
    pic.loadFromData(data);
    pic = pic.scaled(ui->label->size());
    ui->label->setPixmap(pic);
}

因为https是安全协议,qt会出错,需要安装ssl

  1. 先确定自己qt是32位还是64位
  2. 下载安装OpenSSL1.1.1的二进制文件
  3. 下载路径http://slproweb.com/products/Win32OpenSSL.html![](https://file.jishuzhan.net/article/1751997295311720449/d50582564a8e938cabf81f0cf60766ee.webp)
  4. 安装过程中记住安装位置,安装完去到安装路径将libcrypto-1_1-x64.dll和libssl-1_1-x64.dll两个文件复制到qt根目录下的 qt/版本号/mingw73_64/bin 里

效果

相关推荐
通信小呆呆14 天前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人
H__Rick14 天前
自动对焦学习-3
人工智能·学习·计算机视觉
Daisy Lee14 天前
量化学习-第1章-什么是量化金融
学习·金融·datawhale
Alsn8614 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
YM52e14 天前
买菜计算器小应用 - HarmonyOS ArkUI 开发实战-PC版本
学习·华为·harmonyos·鸿蒙·鸿蒙系统
小雨下雨的雨14 天前
HarmonyOS ArkUI训练营入门-组件掌握系列-Animation 动画效果实现-PC版本
学习·华为·harmonyos·鸿蒙
cqbzcsq14 天前
CellFlow虚拟细胞论文阅读
论文阅读·人工智能·笔记·学习·生物信息
YangYang9YangYan14 天前
2026初入职场学习数据分析的价值
学习·数据挖掘·数据分析
guslegend14 天前
理论学习:什么是 Coding Agent?
学习
自传.14 天前
尚硅谷 Vibe Coding|第三章(1) Claude Code深度使用与进阶技巧 学习笔记
笔记·学习·尚硅谷·vibecoding