Qt Clear Undo History in a QTextEdit/QPlainTextEdi

2019-05-06 22:27发布

问题:

I have a QPlainTextEdit and I'm building a progress dialog for it when opening large files. Rather than using setText, I want to add one line of text at a time by using QTextCursor.insertText. The problem is that when I do it this way, I can undo each line that was added... is there a way to clear the undo history?

回答1:

Use QTextDocument::clearUndoRedoStacks. Code:

editor->document()->clearUndoRedoStacks(); // default clears both

See docs if you want to clear just undo. Also, it's good idea to read docs of QTextDocument (and QTextCursor) when working with the editor widgets. Lots of functionality is "hidden" there.