1

でコードエディタを構築していますQPlainTextEdit。デフォルトでは、1 行に一連の単語を入力して [元に戻す] を押すと、行全体が削除されます。すべての文字でスタックを手動で元に戻すためにプッシュしたいので、元に戻すをクリックすると前の文字が削除されます。次に、非文字のみのキャプチャなどを実装できます...一度に1つの論理トークンを元に戻すことができます。どうすればいいのですか?

皆さんが私を助けてくれることを願っています。前もって感謝します。

4

1 に答える 1

0

をオーバーライドすることで、これを機能させましたkeyPressEvent()

void CodeEditor::keyPressEvent(QKeyEvent *event)
{
    QTextCursor cursor = textCursor();
    cursor.beginEditBlock();
    QPlainTextEdit::keyPressEvent(event);
    cursor.endEditBlock();
    setTextCursor(cursor);
}
于 2015-02-26T10:32:56.587 に答える