我已經創建了自己的類,用於保存向量的向量,每個位置保持一個自定義QGraphcsItem(圖表)。我試圖創建撤銷/重做功能,我採用的方法是使用堆棧來保存圖表的每個狀態。這兩種方法我想是:Qt的C++ - 克隆對象
創建頂級QVector,這反過來將需要克隆它裏面的所有的子向量,然後將需要複製所有的QGraphicsItems的克隆。我想我可以循環遍歷每個維度,爲外部循環創建QVector,然後在內部循環中克隆QGraphicsItem,除非可以簡單地克隆基本QVector(並且內在地克隆裏面的所有內容 - 目前裏面的所有內容都是指針)。
本質上建立一個新的QVector出圖表的當前狀態,而不是直接克隆圖表。每個的QGraphicsItem具有get/set函數來獲取我需要的任何屬性,所以我可以只創建一個新的頂級QVector,外環創建各行的新QVector,則內環創造新QGraphicsItems,並設置在原有的性能圖表。
有沒有簡單的方法來克隆一個項目,克隆一切內部?或者我基本上必須實現自己的克隆功能並「重建」當前狀態?
Qt擁有一個撤銷/重做的實現,你讀過嗎? http://developer.qt.nokia.com/doc/qt-4.8/qundo.html – borges 2012-01-28 23:01:56
請注意,'QGraphcsItem'不可變更 – Lol4t0 2012-01-29 19:28:57