如何为 QPlainTextEdit 设置文本?

Posted

技术标签:

【中文标题】如何为 QPlainTextEdit 设置文本?【英文标题】:How to setText for QPlainTextEdit? 【发布时间】:2015-08-05 04:50:16 【问题描述】:

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

plain_text_edit->setDocument(text_document);

问题是text_document 应该是一个指针。不像QTextEditsetText 可以将局部变量作为参数。那么,setTextQPlainTextEdit 一样有什么办法吗?

【问题讨论】:

【参考方案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 设置文本?的主要内容,如果未能解决你的问题,请参考以下文章

如何为FLASH文本设置字体、大小、颜色、段落等属性?还可以为FLASH文本设置哪

如何为文本字段设置条件。文本?

QPlainTextEdit 只为一行设置字体

如何为 UITableView 标题设置颜色文本颜色

如何为文本小部件设置字符的最大宽度?

如何为状态 UIControlStateHighlighted 设置按钮标签文本颜色