Как установить текст для QPlainTextEdit?
в документации Qt5 не упоминается, что QPlainTextEdit
и setText(QString)
как QTextEdit
делает. Но, я не думаю, что это невозможно. Единственный способ, который я нашел, - использовать QTextDocument
что можно есть setPlainText(const QString& text)
. Поэтому я должен сделать это:
plain_text_edit->setDocument(text_document);
проблема text_document
должен быть указателем. Не нравится QTextEdit
' s setText
который может принимать локальную переменную в качестве параметра. Итак, есть ли в любом случае делать setText
как QPlainTextEdit
?
1 ответов
Это очень просто, просто получить текущий документ и набор текста:
plain_text_edit->document()->setPlainText(text);
альтернативный способ, первый снимите редактор, потом добавить новый текст:
plain_text_edit->clear(); // unless you know the editor is empty
plain_text_edit->appendPlainText(text);
вы также можете использовать текстовый курсор редактора во многих отношениях для достижения этого, наиболее просто выбор весь существующий текст (при условии, что редактор не пуст), а затем plain_text_edit->TextCursor().insertText(text);
(который заменяет текущий выделенный текст обычной семантикой вставки), но для этого простого случая это, возможно, будет слишком сложно.