Это было бы очень сложно, потому что вы ничего не знаете о детях m_scene
. Даже если вы dynamic_cast
и создадите функцию clone()
для каждого типа QGraphicsItem
, вам все равно нужно помнить, что другие люди могут создавать подклассы QGraphicsItem
и создавать собственные графические элементы, что делает их не клонируемыми вами. 1006 *
По сути, нет, вы не можете продублировать QGraphicsScene
(клонирование всех элементов в процессе). Вы даже не можете ссылаться на потомков детей оригинальной сцены, потому что у QGraphicsItem
может быть только одна сцена.
Если, конечно, я не пропущу вызов метода. Поиск по словам "clone", "copy" и "duplicate" не дал результатов.
По второму вопросу используйте QList<T *>::push_front
. Таким образом, m_list.push_front
(m_DuplicateScene
);
(Примечание: вы добавляете к началу списка и добавляете к концу списка.)