QWebElement манипулирование QWebPage в отдельном потоке - PullRequest
2 голосов
/ 12 февраля 2010

У меня есть QWebPage, созданный в главном потоке (вы не можете создать его где-либо еще). Я хотел бы манипулировать этой страницей, используя API QWebElement, представленный в Qt 4.6, но в отдельном потоке. Чтобы этот поток получал ссылку на страницу и выполнял необходимые обходы дерева и изменения атрибутов, которые мне нужны.

Как объясняется на странице документа Threads и QObjects , небезопасно манипулировать объектами QObject в потоках, которым они не принадлежат , если разработчик не может гарантировать, что рассматриваемый QObject не будет обрабатывать события во время этой манипуляции.

Теперь этот QWebPage также отображается в QWebView, но основной поток будет заблокирован в ожидании завершения рабочего потока (на самом деле многие из них работают на разных страницах). Следовательно, основной цикл обработки событий не будет выполняться во время выполнения операции.

Таким образом, я считаю, что операция безопасна. Я ошибаюсь? Я что-то пропустил? Я в основном прошу заверить, что это не взорвется мне в лицо ...

1 Ответ

2 голосов
/ 12 февраля 2010

Я действительно думаю, что вы правы, и это безопасно. По крайней мере, вы меня убедили:)

...