如何为 QPlainTextEdit 设置文本?
Posted
技术标签:
【中文标题】如何为 QPlainTextEdit 设置文本?【英文标题】:How to setText for QPlainTextEdit? 【发布时间】:2015-08-05 04:50:16 【问题描述】:Qt5 的文档没有提到 QPlainTextEdit
像 QTextEdit
那样有 setText(QString)
。但是,我不认为这是不可能的。我发现的唯一方法是使用QTextDocument
,它可以有setPlainText(const QString& text)
。所以我必须这样做:
plain_text_edit->setDocument(text_document);
问题是text_document
应该是一个指针。不像QTextEdit
的setText
可以将局部变量作为参数。那么,setText
和QPlainTextEdit
一样有什么办法吗?
【问题讨论】:
【参考方案1】:很简单,就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);
(用通常的粘贴语义替换当前选定的文本),但是对于替换所有文本的简单情况,这过于复杂了。
【讨论】:
plain_text_edit->setPlainText(text);似乎也有效 @peter70 有趣的是我错过了,但发现appendPlainText
... 似乎也不是最近添加的。以上是关于如何为 QPlainTextEdit 设置文本?的主要内容,如果未能解决你的问题,请参考以下文章