1、新建一个Qt Gui应用,项目名称为http,基类选择为QMainWindow,类名设置为MainWindow。

2、在http.pro文件中的QT  += core gui后添加\ network,或者直接添加QT  += network。

3、在mainwindow.ui文件中分别拖入label控件、lineEdit控件、pushButton控件以及textBrowser控件,如下。

4、在mainwindow.h头文件中添加以下代码,同时添加#include<QtNetwork>

 private:
Ui::MainWindow *ui;
QNetworkReply *reply;
QUrl url; //存储网络地址 private slots:
void on_pushButton_clicked(); //进入按钮按下
void httpFinished();//后对所发射的网络应答结束信号的槽函数

5、在mainwindow.cpp源文件中添加以下代码

 void MainWindow::on_pushButton_clicked()
{
url = ui->lineEdit->text();
QNetworkAccessManager *manager;//用来发送网络请求和接收应答。QNetworkAccessManager类允许应用程序发送网络请求和接收网络应答。
//应用程序利用QNetworkAccessManager创建的对象在网络上发送请求。它是用QNetworkRequest 类来管理请求,QNetworkReply类进行回复接收。
manager = new QNetworkAccessManager(this);
reply = manager->get(QNetworkRequest(url));//读取url地址,并开始发送请求
//QNetworkRequest类包含一个和 QNetworkAccessManager一起发送的请求。QNetworkRequest是Network Access API的一部分,
//并且这个类包含着在网络上发送请求的必要信息。它包含了一个URL和一些可以用来修改请求的附加信息。
connect(reply, SIGNAL(finished()), this, SLOT(httpFinished()));//网络应答结束发送相应的信号
} void MainWindow::httpFinished()
{
QTextCodec *codec = QTextCodec::codecForName("utf8");//QTextCodec类来转换编码,以便正确显示中文
QString all = codec->toUnicode(reply->readAll());//readAll()函数可以读取所有应答数据
ui->textBrowser->setText(all);
reply->deleteLater();//在完成数据的读取后,需要使用deleteLater()来删除replay对象。
}

6、在URL地址栏输入想要访问的网页地址,运行结果如下所示:

初识Qt基于http协议网页浏览的更多相关文章

  1. Qt基于tcp协议网络编程

    基于Qt网络编程: 基于tcp协议 c/s模式编程 所需要的类:QTcpServer QTcpSocket 利用qt基于tcp协议编写c/s模式程序: 两个类中的信号: QTcpServer : ne ...

  2. 基于Qt的Tcp协议的流程图

    TCP(Transmission Control Protocol传输控制协议)是一种面向连接的.可靠的.基于字节流的传输层通信协议.在qt中,Tcp协议主要是用QTcpServer和QTcpSock ...

  3. 一个简单的基于HTTP协议的屏幕共享应用

    HTTP协议可以能是应用层协议里使用最广泛并且用途最多样的一个了.我们一般使用HTTP协议来浏览网页,但是HTTP协议还用来做很多其它用途.对开发人员来讲很常见的一种就是用HTTP协议作为各种版本控制 ...

  4. (1)线程的同步机制 (2)网络编程的常识 (3)基于tcp协议的编程模型

    1.线程的同步机制(重点)1.1 基本概念 当多个线程同时访问同一种共享资源时可能会造成数据的覆盖和不一致等问题,此时就需要对线程之间进行协调和通信,该方式就叫线程的同步机制. 如: 2003年左右 ...

  5. (1)网络编程的常识 (2)基于tcp协议的编程模型 (3)tcp协议和udp协议的比较 (4)基于udp协议的编程模型

    1.网络编程的常识 目前主流的网络通讯软件有:微信.QQ.YY.陌陌.探探.飞信.阿里旺旺.... 在吗? 1.1 七层网络模型(熟悉) 为了保证数据传递的可靠安全等等,ISO(国际标准委员会组织)将 ...

  6. 集成基于CAS协议的单点登陆

    相信大家对单点登陆(SSO,Single Sign On)这个名词并不感到陌生吧?简单地说,单点登陆允许多个应用使用同一个登陆服务.一旦一个用户登陆了一个支持单点登陆的应用,那么在进入其它使用同一单点 ...

  7. 基于XMPP协议的Android即时通信系

    以前做过一个基于XMPP协议的聊天社交软件,总结了一下.发出来. 设计基于开源的XMPP即时通信协议,采用C/S体系结构,通过GPRS无线网络用TCP协议连接到服务器,以架设开源的Openfn'e服务 ...

  8. Kcptun 是一个非常简单和快速的,基于KCP 协议的UDP 隧道,它可以将TCP 流转换为KCP+UDP 流

    本博客曾经发布了通过 Finalspeed 加速 Shadowsocks 的教程,大家普遍反映能达到一个非常不错的速度.Finalspeed 虽好,就是内存占用稍高,不适合服务器内存本来就小的用户:而 ...

  9. 基于HTTP协议的几种实时数据获取技术

    原文链接https://www.cnblogs.com/xrq730/p/9280404.html,作者博客园----五月的仓颉,转载请注明出处,谢谢 HTTP协议 HTTP协议大家都很熟悉了,开始本 ...

随机推荐

  1. 从零开始学习html(四)认识标签(第三部分)

    一.使用<a>标签,链接到另一个页面 <!DOCTYPE HTML> <html> <head> <meta http-equiv="C ...

  2. Android埋点技术分析

    1.现有的几种埋点技术的实现原理和优劣分析 (1)代码埋点:将收集数据的代码直接写在需要的地方,当用户点击某个控件或者打开某个页面时调用到该部分代码完成数据的收集. 优势:准确性高,收集数据和发送数据 ...

  3. pycharm 调试Django 奇葩问题:Process finished with exit code -1073741819

    想自己整个BLOG,发现python+Django好像还不错,尝试一下.在使用过程中,突然pycharm不能调试django工程.网上搜索也没解决,是google哦.好像记得启动pycharm时,看到 ...

  4. phantomjs在centos7下的安装

    http://phantomjs.org/download.html 下载 Linux 64-bit 解压 tar jxvf 安装包名称.tar.bz2 pwd 查看路径 ln -sf phantom ...

  5. 团队项目个人进展——Day01

    一.昨天工作总结 冲刺第一天,昨天阅读了小程序官方文档关于对视图层和逻辑层的介绍 二.遇到的问题 对小程序的样式文件——WXML里的标签不太理解,相比之下,html的标签更能让人接受 三.今日工作规划 ...

  6. windows操作系统中安装、启动和卸载memcached

    今天总结一下如何在Windows操作系统中安装.启动和卸载memcached:下载地址: http://download.csdn.net/download/wangshuxuncom/8249501 ...

  7. Eigen 学习之块操作

    Eigen 为 Matrix .Array 和  Vector提供了块操作方法.块区域可以被用作 左值 和 右值.在Eigen中最常用的块操作函数是 .block() . block() 方法的定义如 ...

  8. leetCode题解 Reverse Words in a String III

    1.题目描述 Given a string, you need to reverse the order of characters in each word within a sentence wh ...

  9. Jquery异步 Deferred Object

    Deferred Object )); return dtd.promise();};//使用$.when()为普通操作添加回调函数 为多个操作指定回调函数//$.when(deferred, def ...

  10. Oracle EBS AP 已经完全付款的发票仍然可以选择并进行零金额的付款

    1>找出相应的发票; SELECT DISTINCT ai.invoice_id, ai.invoice_num invoice_num, pv.segment1 vendor_num, pv. ...