5.撤回/重做功能实现简略
实现思路:
把每次动作/事件压栈或者弹出。
直接代码
class LoadCommand :public QUndoCommand { private: XXModel * xModel; int old; int new; QWidget* mWins; public: LoadICommand(QWidget* widget, XXModel * model, int val); void redo() override; void undo() override; }; ////////////////////////////////////////////////////////////// LoadCommand::LoadICommand(QWidget* widget, XXModel * model, int val): val(val), XXModel(model), QWidget(widget)
{
/*新操作发生时 载入撤回or重做指令,压栈*/
/*读取原有属性*/
/*把目标值写入模型*/
}
void LoadImgEditConfigCommand::redo()
{
/*读取原有属性*/
/*把目标值写入模型*/
}
void LoadImgEditConfigCommand::undo()
{
/*读取原有属性*/
/*把目标值写入模型*/
}
6 
浙公网安备 33010602011771号