• 6803阅读
  • 4回复

关于绘图的redo和undo问题 [复制链接]

上一主题 下一主题
离线532696938
 

只看楼主 倒序阅读 楼主  发表于: 2011-04-14
我在用Qt写一个绘图的软件,要用到撤销和恢复操作
用什么实现啊?
用下面这些么:
QUndoCommand
QUndoGroup
QUndoView
QUndoStack

都不知道怎么用啊
离线532696938

只看该作者 1楼 发表于: 2011-04-16
没有人用过吗,看来得自己摸索了,哎
离线gjs9527
只看该作者 2楼 发表于: 2011-04-16
我的做法,仅供参考:
两个队列,一个undo,一个redo
记录下图形的每一步操作.一般就这几种,新建,删除,修改,组合,解组合.按照对应的操作恢复就行.
注意不要内存泄露
离线532696938

只看该作者 3楼 发表于: 2011-04-17
回 2楼(gjs9527) 的帖子
我也是这样想的,只是想要实现还有待摸索
离线biggerdog
只看该作者 4楼 发表于: 2011-06-13
如果是多窗口则需要用QUndoGroup
每个窗口用一个QUndoStack
每个命令用一个QUndoCommand
自己实现QUndoCommand的子类,并且重新实现redo和undo函数即可

具体例子qt中有两个
快速回复
限100 字节
 
上一个 下一个