就像之前说过的, 没有Undo/Redo的编辑器都是耍流氓
优点
不过, Qt为我们提供了Undo/Redo的完整框架, 连工具栏按钮和History控件都齐活了
Command模式的核心当然是Command, 就是说所有操作都是QUndoCommand, push进一个QUndoStack就redo, pop一个就是undo
Tiled中比较特别是多文档编辑器, 也就意味着有多个QUndoStack, 所以比我之前写的编辑器多用了个QUndoGroup, 用于切换当前使用的stack
另外, QUndoView就是现成的操作记录控件, 真是省心...