リストの先頭にコピーして追加したい QGraphicsScene があります。これを行う最良の方法は何ですか?
QGraphicsScene* m_scene = new QGraphicsScene();
QGraphicsScene* m_DuplicateScene;
QList<QGraphicsScene *>m_list;
の子について何も知らないため、これを行うのは非常に複雑ですm_scene
。の各タイプの関数をdynamic_cast
作成したとしても、他の人が独自のタイプのグラフィックスアイテムをサブクラス化して作成し、それらを複製できないようにする可能性があることを覚えておく必要があります。clone()
QGraphicsItem
QGraphicsItem
基本的に、いいえ、複製することはできませんQGraphicsScene
(プロセス内のすべてのアイテムを複製します)。QGraphicsItem
にはシーンが 1 つしかないため、元のシーンの子の子を参照することさえできません。
もちろん、メソッド呼び出しを見逃していない限り。ただし、「クローン」、「コピー」、「複製」の検索では結果が得られませんでした。
2 番目の質問では、 を使用しますQList<T *>::push_front
。したがって、m_list.push_front
( m_DuplicateScene
);
(補足: リストの先頭に追加し、リストの最後に追加します。)