Qt實現打開網頁

Qt實現打開網頁,新建一個mainwindow。在UI界面添加一個Text Browser。

首先在myHTTP.pro中添加QT   +=  network

在mainwindow.h中新建兩個類,QNetworkReply和QNetworkAccessManager。

class QNetworkReply;

class QNetworkAccessManager;

private: QNetworkAccessManager *manager;

private slots:  replyFinished(QNetworkReply *);

再新建一個私有指針和一個槽,用來接收信號。做出相應的操作。

私有指針作爲發送點,槽作爲接受點。


mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
class QNetworkReply;
class QNetworkAccessManager;

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
    QNetworkAccessManager *manager;
private slots:
    void replyFinished(QNetworkReply *);
};

mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QtNetwork/QtNetwork>
#include <QTextCodec>
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    manager=new QNetworkAccessManager(this);
    connect(manager,SIGNAL(finished(QNetworkReply*)),this,
            SLOT(replyFinished(QNetworkReply*)));
    manager->get(QNetworkRequest(QUrl("http://www.baidu.com")));
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::replyFinished(QNetworkReply *reply)
{
    QTextCodec *codec=QTextCodec::codecForName("UTF-8");
    QString all=codec->toUnicode(reply->readAll());
    ui->textBrowser->setText(all);
    reply->deleteLater();
}

connect(sender,SIGNAL(signal),this,SLOT(slot));



發佈了56 篇原創文章 · 獲贊 72 · 訪問量 23萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章