C++ 如何从QWebEnginePage获取网站内容?
我安装了最新版本的Qt(在Webkit上,Qt5.2有WTFcrash)。我尝试在加载页面时获取我网站的内容(并且是):C++ 如何从QWebEnginePage获取网站内容?,c++,qt,qt5,qtwebengine,qt5.6,C++,Qt,Qt5,Qtwebengine,Qt5.6,我安装了最新版本的Qt(在Webkit上,Qt5.2有WTFcrash)。我尝试在加载页面时获取我网站的内容(并且是): QString sHtml; view.page()->toHtml([&](const-QString&result){sHtml=result;qDebug()找到了它,toPlainText工作正常。仍然不知道为什么toHtml不能正常工作。你没有做错任何事,你只是在调用一个异步: 以HTML形式检索页面内容的异步方法,包括 在HTML和正文标记中。成功完成后,返回re
QString sHtml;
view.page()->toHtml([&](const-QString&result){sHtml=result;qDebug()找到了它,toPlainText
工作正常。仍然不知道为什么toHtml不能正常工作。你没有做错任何事,你只是在调用一个异步:
以HTML形式检索页面内容的异步方法,包括
在HTML和正文标记中。成功完成后,返回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;
}
受保护插槽:
void handleHTML(QString sHTML);
信号:
void getHTML(QString sHTML);
作废yourClass::yourFunction()
{
连接(this,SIGNAL(getHTML(QString)),this,SLOT(handleHTML(QString));
view->page()->toHtml([this](const-QString&result)可变{emit-getHTML(result);});
}
void yourClass::handleHTML(QString sHTML)
{
qDebug()可能是因为调用toHtml
时sHtml
超出了范围。
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;
}