QI应用程序在QImage上呈现QWebElement时挂起

时间:2012-03-05 06:28:09

标签: c++ qt

我正在使用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应该在内部处理的事情。

1 个答案:

答案 0 :(得分:2)

  • 为什么page.mainFrame()->documentElement().render(&painter)而不是page.mainFrame()->render(&painter)

  • 如文档中所述,使用void QWebFrame::render ( QPainter * painter, const QRegion & clip )表单以避免呈现无限循环。