如何为 QPlainTextEdit 设置文本?
How to setText for QPlainTextEdit?
Qt5 的文档没有像 QTextEdit
那样提到 QPlainTextEdit
有 setText(QString)
。但是,我认为这不是不可能的。我发现的唯一方法是使用 QTextDocument
,它可以有 setPlainText(const QString& text)
。所以我必须这样做:
plain_text_edit->setDocument(text_document);
问题是text_document
应该是一个指针。不像 QTextEdit
的 setText
可以将局部变量作为参数。那么,有没有办法 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);
(用通常的粘贴语义替换当前选定的文本),但对于替换所有文本的简单情况,这太复杂了。
Qt5 的文档没有像 QTextEdit
那样提到 QPlainTextEdit
有 setText(QString)
。但是,我认为这不是不可能的。我发现的唯一方法是使用 QTextDocument
,它可以有 setPlainText(const QString& text)
。所以我必须这样做:
plain_text_edit->setDocument(text_document);
问题是text_document
应该是一个指针。不像 QTextEdit
的 setText
可以将局部变量作为参数。那么,有没有办法 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);
(用通常的粘贴语义替换当前选定的文本),但对于替换所有文本的简单情况,这太复杂了。