实现思路:

 把每次动作/事件压栈或者弹出。

直接代码

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()
{
/*读取原有属性*/
/*把目标值写入模型*/
}

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-11-27
  • 2021-11-19
  • 2021-11-10
  • 2021-05-17
  • 2021-12-13
  • 2021-07-24
猜你喜欢
  • 2022-12-23
  • 2021-09-30
  • 2021-05-23
  • 2021-12-16
  • 2022-12-23
  • 2022-01-04
  • 2022-12-23
相关资源
相似解决方案