Qt5的文档没有提及QPlainTextEdit
setText(QString)
QTextEdit
的{{1}}。但是,我不认为这是不可能的。我找到的唯一方法是使用QTextDocument
,setPlainText(const QString& text)
可以plain_text_edit->setDocument(text_document);
。所以我必须这样做:
text_document
问题是QTextEdit
应该是一个指针。与setText
的{{1}}不同,它可以将局部变量作为参数。那么,无论如何要setText
喜欢QPlainTextEdit
吗?
答案 0 :(得分:22)
这很简单,只有get the current document和set its text:
plain_text_edit->document()->setPlainText(text);
替代方式,只需致电this method:
plain_text_edit->setPlainText(text);
您还可以通过多种方式使用text cursor of the editor来实现此目的,最简单的方法是selecting整个现有文本(假设编辑器不为空),然后执行plain_text_edit->TextCursor().insertText(text);
(当前替换documentation选择的文本与通常的粘贴语义),但对于替换所有文本的简单情况,这是过于复杂的。