首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Qt中从一些网站获取完整的HTML源代码?

如何在Qt中从一些网站获取完整的HTML源代码?
EN

Stack Overflow用户
提问于 2011-01-04 05:16:55
回答 1查看 5.5K关注 0票数 0

我花了一整天的时间从一些网站(例如www.google.com)上找到一个Qt代码来获取源代码,但我找到的所有东西都不起作用。那么,有没有人可以发布一下如何从网站上获取源代码?(我正在使用Qt creator,我对插槽连接一无所知,所以如果可能的话,请编写没有插槽连接的代码(或者其他任何东西)。

编辑:代码如下:

project.pro

代码语言:javascript
复制
#-------------------------------------------------
#
# Project created by QtCreator 2011-01-02T21:40:52
#
#-------------------------------------------------

QT       += core gui
QT       += webkit network

TARGET = facebook
TEMPLATE = app


SOURCES += main.cpp\
        mainwindow.cpp

HEADERS  += mainwindow.h

FORMS    += mainwindow.ui

main.cpp

代码语言:javascript
复制
#include <QtGui/QApplication>
#include "mainwindow.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec();
}

mainwindow.cpp

代码语言:javascript
复制
#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    ui->buttonBack->setText("");                                           /*******************************/
    ui->buttonForward->setText("");                                        /*       Clear text from       */
    ui->buttonReload->setText("");                                         /*         the buttons         */
    ui->buttonStop->setText("");                                           /*******************************/
    ui->buttonBack->setIcon( QApplication::style()->standardIcon(QStyle::SP_ArrowBack));            /*******************************/
    ui->buttonForward->setIcon( QApplication::style()->standardIcon(QStyle::SP_ArrowForward));      /*         Set an icons        */
    ui->buttonReload->setIcon( QApplication::style()->standardIcon(QStyle::SP_BrowserReload));      /*        on the buttons       */
    ui->buttonStop->setIcon( QApplication::style()->standardIcon(QStyle::SP_BrowserStop));          /*******************************/
    //QString htmlOfPage;
    /********    T    E    S    T    ********/

    //ui->browser->setHtml("<html><body>Test</body></html>");

    /********    T    E    S    T    ********/
}

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

void MainWindow::on_buttonBack_clicked()
{
    ui->browser->back();
}

void MainWindow::on_buttonForward_clicked()
{
    ui->browser->forward();
}

void MainWindow::on_buttonReload_clicked()
{
    ui->browser->reload();
}

void MainWindow::on_buttonStop_clicked()
{
    ui->browser->stop();
}

void MainWindow::on_browser_loadFinished(bool )
{
    //QWebView webview;
    //webview.setUrl (QUrl("http://www.google.com"));
    //QString s =  webview.page()->mainFrame()->toHtml();
    //htmlOfPage = ui->browser.page()->mainFrame()->toHtml();
}

我也有一个mainwindow.h和mainwindow.ui文件,但我认为没有人需要这些文件,所以我没有张贴它们。

EN

回答 1

Stack Overflow用户

发布于 2011-01-04 05:39:50

代码语言:javascript
复制
#include <QApplication>
#include <QDebug>
#include <QtNetwork/QNetworkAccessManager>
#include <QtNetwork/QNetworkRequest>
#include <QtNetwork/QNetworkReply>
#include <QIODevice>
#include <QUrl>


class MyClass : public QObject{

    Q_OBJECT

public slots:
    void onFinished() {
        QIODevice * content = static_cast<QIODevice*>(QObject::sender());
        qDebug() << content->readAll();
        content->deleteLater();
    }
};

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QNetworkAccessManager nam;
    MyClass obj;

    QNetworkReply * reply = nam.get(QNetworkRequest(QUrl("http://google.com")));
    QObject::connect(reply, SIGNAL(finished()), &obj, SLOT(onFinished()));

    app.exec();
}

#include "main.moc"
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4588443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档