table of Contents
QNetwork initiating a network request to read text +
Network applications Troika:
- QNetworkAcessManager: coordination of network operation
- QNetwork: network requests
- QNetworkReply: Network request response
Renderings:
QNetwork initiating a network request to read text +
Can only display text, pictures can not be displayed
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
setWindowIcon(QIcon("icon.png"));
setWindowTitle(QStringLiteral("简易网络浏览器"));
manager = new QNetworkAccessManager(this);//发送网络请求和接受应答
//当网络应答结束响应信号
connect(manager,SIGNAL(finished(QNetworkReply*)),this,
SLOT(replyFinished(QNetworkReply*)));
// manager->get(QNetworkRequest(QUrl("https://blog.csdn.net/qq_41895747/category_9122323.html")));
//发送网络请求
manager->get(QNetworkRequest(QUrl("http://www.baidu.com")));
}
MainWindow::~MainWindow()
{
delete ui;
}
//应答信号,显示网络文字,无法显示动态脚本等其他网络特效与图片
void MainWindow::replyFinished(QNetworkReply *reply){
QString all = reply->readAll();
ui->textBrowser->setText(all);
//读取完成后删除对象
reply->deleteLater();
}
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QtNetwork>
namespace Ui {
class MainWindow;
class QNetworkReply;
class QNetworkAccessManager;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = nullptr);
~MainWindow();
private:
Ui::MainWindow *ui;
QNetworkAccessManager *manager;
private slots:
void replyFinished(QNetworkReply*);
};
#endif // MAINWINDOW_H