如何为 QPlainTextEdit 设置文本?

How to setText for QPlainTextEdit?

Qt5 的文档没有像 QTextEdit 那样提到 QPlainTextEditsetText(QString)。但是,我认为这不是不可能的。我发现的唯一方法是使用 QTextDocument,它可以有 setPlainText(const QString& text)。所以我必须这样做:

plain_text_edit->setDocument(text_document);

问题是text_document应该是一个指针。不像 QTextEditsetText 可以将局部变量作为参数。那么,有没有办法 setText 喜欢 QPlainTextEdit

很简单,就get the current document and set its text:

plain_text_edit->document()->setPlainText(text);

替代方法,只需调用 this method:

plain_text_edit->setPlainText(text);

您也可以使用 text cursor of the editor in many ways to achieve this, most simply by selecting entire existing text (assuming the editor is not empty), then doing plain_text_edit->TextCursor().insertText(text);(用通常的粘贴语义替换当前选定的文本),但对于替换所有文本的简单情况,这太复杂了。