Undo 
Redo 
注意,push可能會刪掉一些操作,如圖 
四個類
QtUndoCommand - 用于修改document的對象的基類
QtUndoStack - QtUndoCommand對象的堆棧
QtUndoGroup - undo堆棧的組。很多應用程序允許用戶同時打開超過一個文檔,該類允許你把一組undo堆棧按一單個stack對待。
QtUndoView - 繼承自QListWidget,用來展示undo堆棧的內容,以字符串形式
參照 Qt 自帶的例子:undoframework. 如果想讓添加操作可以撤銷則 讓添加操作繼承至QUndoCommand類, 比如class AddCommand : public QUndoCommand{}; 然后實現redo()和undo()這兩個虛函數。 并添加操作的響應槽函數Add()中,創建AddCommand對象,并放入QUndoStack。
http://blog.csdn.net/zb872676223/article/details/23838801 這篇博客寫的也是unDo.
新聞熱點
疑難解答