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

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

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

0

Решение

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

void CodeEditor::keyPressEvent(QKeyEvent *event)
{
QTextCursor cursor = textCursor();
cursor.beginEditBlock();
QPlainTextEdit::keyPressEvent(event);
cursor.endEditBlock();
setTextCursor(cursor);
}
0

Другие решения


По вопросам рекламы [email protected]