Приложение QT зависает при отображении QWebElement в QImage - PullRequest
1 голос
/ 05 марта 2012

Я использую класс 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 не доступен ни для какого другого потока ..
В чем может быть причина такого поведения?

Edit :: Если я вызываю рендер на главном фрейме, когда QWebPage обновляет его внутри, это может вызвать зависание? Это то, что QT должен обрабатывать внутри.

1 Ответ

2 голосов
/ 05 марта 2012
  • почему page.mainFrame()->documentElement().render(&painter) вместо page.mainFrame()->render(&painter)?

  • Как сказано в документе, используйте форму void QWebFrame::render ( QPainter * painter, const QRegion & clip ), чтобы избежать рендеринга бесконечного цикла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...