Я строю редактор кода с QPlainTextEdit
, По умолчанию, когда я набираю несколько слов в одной строке, а затем нажимаю «Отменить», вся строка удаляется. Я хотел бы нажать, чтобы отменить стек вручную для каждого символа, чтобы при нажатии кнопки отмены предыдущий символ удалялся. Тогда я мог бы реализовать захват только не-букв и т. Д., Чтобы он мог отменить один логический токен за раз. Как мне это сделать?
Я надеюсь, что вы, ребята, можете мне помочь. Заранее спасибо.
У меня это работает, переопределив keyPressEvent()
:
void CodeEditor::keyPressEvent(QKeyEvent *event)
{
QTextCursor cursor = textCursor();
cursor.beginEditBlock();
QPlainTextEdit::keyPressEvent(event);
cursor.endEditBlock();
setTextCursor(cursor);
}