当前位置:  开发笔记 > 编程语言 > 正文

QtWebkit同步加载

如何解决《QtWebkit同步加载》经验,为你挑选了2个好方法。

我正在使用没有QWebView的QWebPage,因为我想将HTML文件的内容呈现到QPixmap/QImage上.

我希望页面的加载是同步完成的,而不是异步的,这是默认的.默认方式是调用QWebFrame::setHtml()QWebFrame::setContent(),但这会异步加载图像.我想要的是某种阻塞函数调用,就像QWebFrame::waitUntilLoadFinished()之后我可以调用render()它并完成它.

我找不到办法做到这一点.我错过了什么吗?



1> Jaydeep Sola..:

如果有人仍然需要它,这就是我的工作方式.

mWebPage->mainFrame()->setHtml("...");
QEventLoop loop;
connect(mWebPage,SIGNAL(loadFinished(bool)),&loop,SLOT(quit()));
loop.exec();
/* your webpage has finished loading & is ready to use */



2> drahnr..:

我建议你用Qt方式做它并做异步,它有很大帮助.

如果您仍想在同步中执行此操作,请在单独的QThread中使用QEventLoop.

有关详细的QThread使用信息,请参阅我的评论.注意:别忘了调用moveToThread(); 在线程头内,或者所有信号都将通过QApplication执行循环.


有关正确使用QThread的信息,请参阅http://labs.qt.nokia.com/2010/06/17/youre-doing-it-wrong/
推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有