2014-10-08 2 views
0

새로운 qwebengine (Qt5.4)에서 페이지 소스를 가져 오려고하는데 잘못된 것을 알지 못합니다. { qDebug() << "Lambda:" << result; html = result; } : 람다 이제까지 불려 갔을 경우의 printf-디버깅이의Qt 5.4에서 페이지의 html 소스를 얻는 방법 - qwebengine

QString html; 
this->page()->toHtml([&html](const QString &result){ html = result; }); 

qDebug() << html; // is still empty 

답변

1

첫 번째 단계는 확인하는 것입니다. 코드는 나에게 잘 보입니다.

loadFinished이 방출되기 전에 toHtml으로 전화하지 않도록하십시오. 이로 인해 실패 할 수 있습니다.

toHtml은 비동기 적으로 작동합니다. toHtml 호출 바로 다음에 html의 내용을 인쇄하면 콜백이 아직 호출되지 않은 것입니다.

HTML을 사용할 수있을 때 콜백에 의해 생성되는 사용자 지정 신호를 클래스에 추가하는 것이 좋습니다.

또는 HTML 코드를 사용하여 원하는 작업을 콜백에서 직접 수행하십시오.

+0

나는 html 코드를 보여 주려고했지만 html 코드는 여전히 보이지 않는다. ... – 000571245

+0

toHtml 바로 다음에 qDebug()를 호출하면 비동기 호출이라는 것을 알고 있는가? 콜백은 아직 호출되지 않았을까요? – dom0

+0

조금 더 설명해 주시겠습니까? – 000571245

관련 문제