【发布时间】:2011-05-08 05:58:54
【问题描述】:
大家好,
在我的应用程序中,用户可以打开多个共享相同数据的QWindows。(保存数据,多个视图)我需要在窗口之间使用一个共享的QUndoStack。
撤消/重做工作正常,但是当任何 QWindow 关闭时,撤消/重做菜单被禁用。我猜是因为堆栈被清除了。
有什么建议吗? 谢谢
编辑: 在每次创建 QMainWindow 时,我都会按如下方式创建 undo/redo QActions:
redoAction=undoStack->createRedoAction(getMainWindow() ,tr("&Redo"));
undoAction=undoStack->createUndoAction(getMainWindow(), tr("&Undo"));
其中 undoStack 是共享的 QUndoStack 实例。
这是我的应用程序的快照 - http://oi53.tinypic.com/2rfbztg.jpg
【问题讨论】: