2

メインスレッドで作成された QWebPage があります (他の場所では作成できません)。Qt 4.6 で導入された QWebElement API を使用してこのページを操作したいと思いますが、別のスレッドで行います。そのスレッドはページへの参照を取得し、必要なツリー ウォーキングと属性の変更を実行します。

Threads and QObjects doc page で説明されているように、QObjectsを所有していないスレッドで QObjects を操作することは安全ではありません。ただし、この操作が行われている間、問題の QObjects がイベントを処理しないことを開発者が保証できる場合を除きます。

現在、この QWebPage も QWebView に表示されていますが、メイン スレッドは、ワーカー スレッドが終了するのを待っている間ブロックされます (実際には、多くの異なるページで作業しているワーカー スレッドが多数あります)。したがって、操作の進行中はメイン イベント ループは実行されません。

したがって、手術は安全であると信じています。私は間違っていますか?私は何かを逃しましたか?私は基本的に、これが私の顔に爆発しないという安心を求めています...

4

1 に答える 1

2

私はあなたが正しいと思います、そしてそれは安全です。少なくとも、あなたは私を納得させました:)

于 2010-02-12T11:18:07.213 に答える