Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/140.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何从QWebEnginePage获取网站内容?_C++_Qt_Qt5_Qtwebengine_Qt5.6 - Fatal编程技术网

C++ 如何从QWebEnginePage获取网站内容?

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

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

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;
}