2

我正在尝试使其仅在使用撤消后才能看到重做。我似乎无法让它工作。我知道我的信号和插槽有问题,我只是不知道如何让它工作。

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

    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)));
4

1 回答 1

2
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)));

将其放入构造函数中,撤消和重做按钮将在对它们执行操作时变为可用

于 2012-10-24T06:28:47.757 回答