实现撤消的典型方法是表示用户完成的每个操作,并存储它们.您还希望能够计算给定操作的反转.
因此,对于插入文本缓冲区,操作将存储插入的文本以及插入发生的位置.然后,逆变为删除,在相同位置和插入文本的大小.
当用户要求应用程序撤消时,只需查看最近存储的操作,然后执行其反向操作.如果您现在不是删除"花费"操作而是记住它,那么您可以通过在操作历史中移动另一种方式来实现重做.
请注意,这是一个抽象的通用解释; 正如其他答案所指出的那样,Qt已经有了实施Undo的框架,所以你当然应该先调查一下.
| 归档时间: |
|
| 查看次数: |
3879 次 |
| 最近记录: |