首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从QWebEnginePage获取网站内容?

如何从QWebEnginePage获取网站内容?
EN

Stack Overflow用户
提问于 2016-03-20 11:10:00
回答 2查看 3.5K关注 0票数 5

我安装了Qt的最新版本(在Webkit上,Qt5.2有WTFcrash)。当页面被加载时,我尝试获取我的网站的内容(它是):

代码语言:javascript
复制
QString sHtml;
view.page()->toHtml([&](const QString& result){sHtml = result;qDebug() << result;});

但是sHtml是空的,没有调用调试。我做错了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-20 11:22:41

找到了,toPlainText正常工作。仍然不知道为什么toHtml不这么做。

票数 2
EN

Stack Overflow用户

发布于 2016-06-20 10:22:31

您没有做错什么,您只是调用了一个异步函数

异步方法,以HTML形式检索页面内容,包含在HTML和BODY标记中。成功完成后,将使用页面的内容调用resultCallback。

在调用toHtml()之后,HTML将无法直接使用。相反,您可以使用一些信号和插槽来克服以下问题:

代码语言:javascript
复制
protected slots:
    void handleHTML(QString sHTML);

signals:
    void getHTML(QString sHTML);

 void yourClass::yourFunction()
 {
    connect(this, SIGNAL(getHTML(QString)), this, SLOT(handleHTML(QString)));
    view->page()->toHtml([this](const QString& result) mutable {emit getHTML(result);});
 }

void yourClass::handleHTML(QString sHTML)
{
      qDebug()<< "The HTML is :" << sHTML;
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36112976

复制
相关文章

相似问题

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