我正在使用QPlainTextEdit
构建代码编辑器。默认情况下,当我在一行中键入一堆单词然后按下撤消时,整行都会被删除。我想在每个字符上手动撤消堆栈,这样当我单击撤消时,前一个字符将被删除。然后我可以实现只捕获非字母等...所以它会一次撤消一个逻辑令牌。我该怎么做?
我希望你们能帮助我。提前谢谢。
答案 0 :(得分:0)
我通过覆盖keyPressEvent()
:
void CodeEditor::keyPressEvent(QKeyEvent *event)
{
QTextCursor cursor = textCursor();
cursor.beginEditBlock();
QPlainTextEdit::keyPressEvent(event);
cursor.endEditBlock();
setTextCursor(cursor);
}