我正在使用QWebPage类在我的QT应用程序中加载后台页面。 每当它发出“repaintReqest”时,我会尝试将主框架的内容呈现给画家(QImage) 使用如下代码:
QWebpage page;
QImage m_image
onRepaintRequest(){
QMutexLocker locker(&mutex);
QPainter painter(m_image);
page.mainFrame()->documentElement().render(&painter)
}
我的应用程序有时会在render
函数调用时随机挂起
我确保任何其他线程都不会访问m_image
这种行为可能是什么原因?
编辑::如果我在主框架上调用渲染而QWebPage在内部更新它,是否会导致挂起?这是QT应该在内部处理的事情。
答案 0 :(得分:2)
为什么page.mainFrame()->documentElement().render(&painter)
而不是page.mainFrame()->render(&painter)
?
如文档中所述,使用void QWebFrame::render ( QPainter * painter, const QRegion & clip )
表单以避免呈现无限循环。