null近期会陆续推出以下系列课程: 1、《Qt 开发笔记 - 基础篇》 2、《Qt 开发笔记 - 进阶篇》 3、《Qt 开发笔记 - 专题篇》 4、《Qt 开发笔记 - 项目篇》大家可以加QQ群:996712118 找到志同道合的小伙伴,共同学习进步!如果能帮助到你,【一键三连 + 关注】 支持下哦,你的支持是我持续更新的动力,感谢!, 视频播放量 2338、弹幕量 4、点赞数 103、投硬币枚数 100、收藏人数 35、转发人数 7, 视频作者 大轮明王讲Qt, 作者简介 分享QT项目经验 | 嵌入式QT开发经验 | QQ交流群:996712118,相关视频:【QT开发专题-天气预报】10. Qt 中 Http 相关的类,【QT开发专题-天气预报】11. 新建工程, 右键菜单,【QT开发专题-天气预报】15. 解析天气数据,【QT开发专题-天气预报】12. 界面布局,【QT开发专题-天气预报】13. 窗口随鼠标移动,【QT开发专题-天气预报】2. JSON 简介,【QT开发笔记-基础篇】| 第一章 QT入门 | 1.8 信号槽扩展,【QT开发专题-天气预报】1. 效果演示、技术分析,【QT开发笔记-基础篇】| 第一章 QT入门 | 1.3 新建Qt工程,【QT开发笔记-基础篇】| 第一章 QT入门 | 1.4 项目构建流程https://www.bilibili.com/video/BV12e411V731/?spm_id_from=333.788&vd_source=8907db080287c3791c4b3669d801d840

1. 添加网络模块

如果要使用http获取数据,需要在.pro文件中,添加网路模块:

QT += core gui network //补充network

2. 申明网络对象 + 槽函数

在mainwindow.h 中添加http通信的QNetworkAccessManager指针对象,用于处理Http 返回数据onReplied 槽函数

#include <QNetworkAccessMenager>
#include <QNetworkReply>//在mainwindow.h里加入
private: QNetworkAccessManager* mNetAccessManager;private slots:void onReplied(QNetworkReply* reply);//在mainwindow.cpp里
mNetAccessManager = new QNetworkAccessManager(this);
//qt中进行http请求的开端 connect(mNetAccessManager, &QNetworkAccessManager::finished, this, onReplied);//finished信号
//连接信号和slot

3.发送http请求

protected:void getWeatherInfo(QString cityCode);//在构造中请求天气预报:connect(,finished,this) 后面 mainwindow.cppgetWeatherInfo("101010100");//101010100 是北京的天气编码void getWeatherInfo(QString CityCode){QUrl url("http://t.weather.itboy.net/api/weather/city/" + cityCode);mNetAccessManager->get(QNetworkRequest(url));
}

4. 接受服务端请求

内容全部在Reply里,学习如何使用reply的各种函数从中获得数据是很重要的学习。

void MainWindow::onReplied(QNetworkReply* reply){//所有内容都储存在reply里面//响应码 200, 表示请求成功;404,表示not foundint status_code = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();qDebug() << "operation: " << reply->operation(); //请求方式qDebug() << "status code: " << status_code;qDebug() << "url: " << reply->url();qDebug() << "raw header: " <<reply->rawHeaderList();//以上可要可不要,仅做学习功能处理if( reply->error() != QNetworkReply::NoError || status_code != 200){//俩个方法取其一即可QMessageBox::warning(this, "天气", "请求数据失败!", QMessageBox::ok);}else {//获取响应信息QByteArray reply_data = reply->readAll();qDebug() << "read all: " << byteArray.data();//parseJson()}reply->deleteLater();//把数据删除,防止内存过度占用
}

这一章实话实说有点没懂,要多做多看多思考,最好做出自己的创意作品

Qt 通过http获取数据相关推荐

  1. C++|Java混合实验-java搭建post方法靶场,Qt发送请求获取数据

    目录 背景 演示 Java web源码 Qt源码 背景 post方法使用的地方有多,比如各个Http的API,涉及上传文件等,都是要使用post上传,在此模拟下post的表单上传数据的方式. 演示 首 ...

  2. C++|Java混合实验-java搭建get方法靶场,Qt发送请求获取数据

    目录 背景 演示 java web源码 Qt端源码 背景 因为最近想进一步学习http协议,想从QNetworkAccessManager中,但访问其他网站获取的数据,太过于复杂,不便于个人的实验,在 ...

  3. QT for android 获取PDA扫码的广播数据

    QT for android 获取PDA扫码的广播数据 前记 笔者接触到的PDA扫码枪,有三种, 一种是蓝牙枪,连接到手机或者电脑上之后,可以直接把扫描到的数据传送到焦点所在的文本框中:另外两种是普通 ...

  4. node 创建静态web服务器(下)(处理异步获取数据的两种方式)

    接上一章. 上一章我们说创建的静态web服务器只能识别html,css,js文件,功能较为单一,且图片格式为text/html,这是不合理的. 本章,我们将解决该问题. 这里,我们先准备好一个json ...

  5. Qt 读取Excel表格数据 生成Excel表格并写入数据

    qtxlsx读取Excel,无需本地存在excel或者wps驱动,读写操作更方便简洁. 一. 读取Excel表格 修改.pro文件,增加 axcontainer QT += axcontainer 导 ...

  6. linux qt写入excel文件内容,Qt 读取Excel表格数据 生成Excel表格并写入数据

    Qt 读取Excel表格数据 生成Excel表格并写入数据 Qt 读取Excel表格数据 生成Excel表格并写入数据 修改.pro文件,增加 axcontainer QT += axcontaine ...

  7. QT 显示USB摄像头数据

    QT 显示USB摄像头数据 一.简述       记--简单的将USB摄像头捕获的图像数据显示到窗口上.       例子1打包:链接: https://pan.baidu.com/s/1U3CW7s ...

  8. QT 读取mp3ID3V2 获取mp3专辑图片、专辑名称、标题、作者(二)

    这篇承接上篇,主要记录的是代码,关于mp3ID3V2的简要介绍可以跳转到上一篇: QT 读取mp3ID3V2 获取mp3专辑图片.专辑名称.标题.作者(一) 前提说明:没有使用任何的外部库,纯代码实现 ...

  9. QT 读取mp3ID3V2 获取mp3专辑图片、专辑名称、标题、作者(一)

    ID3V2是目前主流的mp3标签格式,特别是做为车载音乐播放器等一些无法连接到互联网的应用场景上,我们无法通过网络获得歌曲的信息,因此,读取ID3V2或者ID3V1标签就是一个很好的解决方案,这里主要 ...

最新文章

  1. iebook 发布到网站 独家秘诀
  2. 查 101.201.62.30 IP信誉方法
  3. 判断是否是电脑访问网站 1号店页面判断脚本
  4. 来自NASA的全球高程DEM数据
  5. Winform DataGridView控件添加行号
  6. Null和Undefined类型
  7. EF ObjectStateManager 中已存在具有同一键的对象。ObjectStateManager 无法跟踪具有相同键的多个对象...
  8. [19/05/06-星期一] JDBC(Java DataBase Connectivity,java数据库连接)_基本知识
  9. Vue:进入组件显示蒙版及文字,离开隐藏
  10. 2008新建域时失败问题
  11. 服务器系统上1068错误,一个backup exec 2012的真实故障案例,服务无法启动1068
  12. 为什么要对数据仓库分层
  13. ERstudio导入mysql脚本生成rtf文档
  14. 光辉岁月--beyond 献给麦德拉
  15. pyton 爬虫-图片
  16. UE4动画重定向与动画蒙太奇(播放动画)
  17. 快速生成 Mac App icns图标
  18. 微信小程序怎么发布?
  19. SPSS Modeler建立ODBC数据源使用数据库文件
  20. html代码自动排列,html页面如何实行数据排序?(附代码)

热门文章

  1. 脉冲宽度调节信号PWM
  2. python爬取中国大学排名
  3. 用Unity实现LOL游戏中聊天对话框的功能
  4. Ubuntu 经验 —— Fcitx专题:安装Fcitx
  5. 来自星星的“他”:硅基文明会是怎样形成的?
  6. 西交大软件工程考研是c语言,给20考研软件工程的学弟学妹分享一些自己的经验~...
  7. 瀚高股份吕新杰:创新开源双驱动,躬耕国产数据库
  8. python 柱状图标出y值_Python——pyecharts数据可视化
  9. 如何在电脑上玩一拳超人手游 一拳超人电脑版玩法教程
  10. 国内云服务器厂商该怎么选择?那个比较好?