私は、ベクトルのベクトルを保持する独自のクラスを作成しました。各クラスはカスタムQGraphcsItem(チャート)を保持しています。私はアンドゥ/リドゥ機能を作成しようとしています。私が取っているアプローチは、スタックを使ってチャートの各状態を保持する方法です。私が考えている2つのアプローチがある: Qt C++ - オブジェクトのクローン化
- が順番にすべてQGraphicsItemsのクローンを作成する必要があり、その中のすべてのサブベクトルを、クローンを作成する必要がありますトップレベルQVectorのクローンを作成します。私は各次元をループすることができ、外部ループのQVectorを作成し、内部ループにQGraphicsItemをクローンすることができます(基本QVectorをクローンするだけでなく、内部のすべてが本物です。
グラフを直接複製するのではなく、チャートの現在の状態から基本的に新しいQVectorを構築します。各QGraphicsItemには、必要なプロパティを取得するget/set関数があります。新しいトップレベルQVectorを作成し、外部ループを作成して各行に新しいQVectorを作成し、内部ループを作成して新しいQGraphicsItemsを作成し、チャート。
1つのアイテムをクローンする簡単な方法はありますか?あるいは、私は自分のクローン機能を実装し、現在の状態を "再構築"する必要がありますか?
Qtには元に戻す/やり直しの実装がありますか? http://developer.qt.nokia.com/doc/qt-4.8/qundo.html – borges
「QGraphcsItem」はコピーできません。 – Lol4t0