Qt's Undo 框架由四个类组成:
- QUndoCommand 是存储在undo堆栈中的所有命令的基类。它可以重做或撤消当前文档中的单个更改。
- QUndoStack是存储了QUndoCommand命令对象的链表。它包含在文档上执行的所有命令,可以通过撤消或重做来前后滚动文档的状态。
- QUndoGroup 是 undo stacks的一组集合。当一个应用程序存在超过一个Qt Undo stacks的时候它就非常有用,特别是对于每一个打开的文档来说。QUndoGroup提供了单对 undo/redo 槽给group中的所有stacks。它将撤消请求和重做请求转发给活动堆栈,活动堆栈是与当前由用户编辑的文档相关联的堆栈
- QUndoView是一个小部件,它显示撤消堆栈的内容。单击视图中的命令将文档的状态向前或向后滚动到该命令。