私はQtアプリに取り組んでおり、ある時点で、プログラムを管理するクラス(ここでは「エンジン」と名付けます)があります。このクラスには、クラスが描画してアプリを進化させるタイムアウト付きのシグナルがあります。論理。Morevoer、それはQGraphicsSceneからキャッチされたイベントを受け取ります。
各エンジンは「ティック」し、update()がシーンで呼び出され、アプリの進化に応じて描画を更新します。
当然、描画をイベントの反応と同期させたいと思います。そうしないと、イベントの反応によって同じオブジェクトが破壊され、SegFaultが発生しているときに、オブジェクトの描画が行われる可能性があります。
エンジンのキューを使用して、更新の特定の場所でこれらのイベントにのみエンジンが反応するようにし、描画部分に干渉しないようにしました。
2つの問題が発生しました:
- QGraphicsEventのコピーを作成できません。どうやらコピー演算子はプライベートです(とにかく正当な理由があると思います)。
- クラスがイベントを処理しているとき、描画の前に、新しいイベントが表示されることもあります。これは、同期されていないために「不良」である可能性があります。
この状況を考慮して、この状況を解決できるアプローチはありますか?このためのQtの標準的な手順はありますか?つまり、図面がアプリケーションのイベントの反応と潜在的に非同期化されないようにするにはどうすればよいですか?