撤消后触发重做

triggering redo after undo

本文关键字:重做 撤消      更新时间:2023-10-16

我试图使其仅在使用撤消后才可见。我似乎无法使它工作。我知道我的信号和插槽有问题,我只是无法弄清楚如何使它工作。

这是撤消和重做信号插槽的代码:

    cutAct->setEnabled(false);
    copyAct->setEnabled(false);
    undoAct->setVisible(false);
    redoAct->setVisible(false);
    connect(textEdit, SIGNAL(copyAvailable(bool)), cutAct, SLOT(setEnabled(bool)));
    connect(textEdit, SIGNAL(copyAvailable(bool)), copyAct, SLOT(setEnabled(bool)));
    connect(textEdit->document(), SIGNAL(modificationChanged(bool)), undoAct, SLOT(setVisible(bool)));
    connect(undoAct, SIGNAL(triggered()), redoAct, SLOT(setVisible(bool)));
ui->undoBtn->setEnabled(false);
ui->redoBtn->setEnabled(false);
connect(ui->textEdit,SIGNAL(redoAvailable(bool)),ui->redoBtn,SLOT(setEnabled(bool)));
connect(ui->textEdit,SIGNAL(undoAvailable(bool)),ui->undoBtn,SLOT(setEnabled(bool)));

将其放入构造函数中,当他们为其动作

时,撤消和重做按钮将可用