QPlainTextEdit - вставка в стек отмены вручную

Я строю редактор кода с QPlainTextEdit, По умолчанию, когда я набираю несколько слов в одной строке, а затем нажимаю "Отменить", вся строка удаляется. Я хочу нажать для отмены стека вручную для каждого символа, чтобы при нажатии кнопки отмены предыдущий символ удалялся. Тогда я мог бы реализовать захват только не-букв и т. Д., Чтобы он мог отменить один логический токен за раз. Как мне это сделать?

Я надеюсь, что вы, ребята, можете мне помочь. Заранее спасибо.

1 ответ

Решение

У меня это работает, переопределив keyPressEvent():

void CodeEditor::keyPressEvent(QKeyEvent *event)
{
    QTextCursor cursor = textCursor();
    cursor.beginEditBlock();
    QPlainTextEdit::keyPressEvent(event);
    cursor.endEditBlock();
    setTextCursor(cursor);
}
Другие вопросы по тегам