引数なしでupdate()またはrepaint()を呼び出すと、すべての要素(下の可視要素を含む)が完全に再描画されます。これは、ClipRectをパラメータとして渡すことで最適化できます。 再描画された領域を簡単に取得する方法はありますか、それとも手動で決定する必要がありますか?Qtで再塗りつぶされた領域を取得する方法はありますか?
P.S. QGraphicsSceneを使用する際にはこのような問題はありませんが、私はQmlApplicationViewerとQDeclarativeItemsを扱っています。それを同じ振る舞いに強制する方法があるかもしれません。
詳細を教えてください*再描画された領域を簡単に取得する方法はありますか?これは手動で実装する必要がありますか?これは何ですか"? – peppe
イメージの上に軽量のオブジェクトが描画され、イメージ全体が再描画されます。これを避けるために、オブジェクトのいくつかについては、オブジェクトをカバーする最小の矩形を返すgetClipRect()メソッドを実装しました。この矩形を次にupdate()メソッドに渡します。しかし、Qtは塗りつぶし領域(QGraphicsSceneと同じように)を知っている必要があるので、すべてのオブジェクトにgetClipRect()を書く必要はありません。 –