如何为QPlainTextEdit设置文本?

Mas*_*gol 12 qt settext qt5

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

plain_text_edit->setDocument(text_document);
Run Code Online (Sandbox Code Playgroud)

问题text_document应该是一个指针.不喜欢QTextEditsetText,可以采取局部变量,因为它的参数.所以,反正是有做setText喜欢QPlainTextEdit

hyd*_*yde 24

这很简单,只需获取当前文档设置其文本:

plain_text_edit->document()->setPlainText(text);
Run Code Online (Sandbox Code Playgroud)

替代方式,只需调用此方法:

plain_text_edit->setPlainText(text);
Run Code Online (Sandbox Code Playgroud)

您还可以通过多种方式使用编辑器的文本光标来实现这一点,最简单的方法是选择整个现有文本(假设编辑器不为空),然后执行plain_text_edit->TextCursor().insertText(text);(用普通的粘贴语义替换当前选定的文本),但对于简单替换所有文本的情况,这是过于复杂的.