Qt5的文档没有提到这一点QPlainTextEdit
has setText(QString)
like QTextEdit
做。但是,我不认为这是不可能的。我发现的唯一方法是使用QTextDocument
其中可以有setPlainText(const QString& text)
。所以我必须这样做:
plain_text_edit->setDocument(text_document);
问题是text_document
应该是一个指针。不喜欢QTextEdit
's setText
它可以将局部变量作为参数。那么,还有什么可以做的吗setText
喜欢QPlainTextEdit
?
很简单,只需获取当前文档 http://doc.qt.io/qt-5/qplaintextedit.html#document and 设置其文本 http://doc.qt.io/qt-5/qtextdocument.html#setPlainText:
plain_text_edit->document()->setPlainText(text);
另一种方式,只需致电这个方法 http://doc.qt.io/qt-5/qplaintextedit.html#setPlainText:
plain_text_edit->setPlainText(text);
你也可以使用编辑器的文本光标 http://doc.qt.io/qt-5/qplaintextedit.html#textCursor有很多方法可以实现这一目标,最简单的是选择 http://doc.qt.io/qt-5/qplaintextedit.html#selectAll整个现有文本(假设编辑器不为空),然后执行plain_text_edit->TextCursor().insertText(text); http://doc.qt.io/qt-5/qtextcursor.html#insertText(用通常的粘贴语义替换当前选定的文本),但对于替换所有文本的简单情况,这过于复杂。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)