我安装了Qt的最新版本(在Webkit上,Qt5.2有WTFcrash)。当页面被加载时,我尝试获取我的网站的内容(它是):
QString sHtml;
view.page()->toHtml([&](const QString& result){sHtml = result;qDebug() << result;});但是sHtml是空的,没有调用调试。我做错了什么?
发布于 2016-03-20 11:22:41
找到了,toPlainText正常工作。仍然不知道为什么toHtml不这么做。
发布于 2016-06-20 10:22:31
您没有做错什么,您只是调用了一个异步函数:
异步方法,以HTML形式检索页面内容,包含在HTML和BODY标记中。成功完成后,将使用页面的内容调用resultCallback。
在调用toHtml()之后,HTML将无法直接使用。相反,您可以使用一些信号和插槽来克服以下问题:
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;
}https://stackoverflow.com/questions/36112976
复制相似问题