web-dev-qa-db-ja.com

QPlainTextEditのsetTextの方法は?

Qt5のドキュメントには、QPlainTextEditQTextEditのようにsetText(QString)を持っているとは記載されていません。しかし、それは不可能ではないと思います。私が見つけた唯一の方法は、setPlainText(const QString& text)を持つことができるQTextDocumentを使用することです。だから私はこれをしなければなりません:

plain_text_edit->setDocument(text_document);

問題は text_documentはポインタでなければなりません。パラメータとしてローカル変数を取ることができるQTextEditsetTextとは異なります。それで、とにかくsetTextQPlainTextEditのようにすることはありますか?

13
Mas Bagol

現在のドキュメントを取得するそのテキストを設定する のように非常にシンプルです。

_plain_text_edit->document()->setPlainText(text);
_

別の方法として、 このメソッド を呼び出すだけです:

_plain_text_edit->setPlainText(text);
_

エディタのテキストカーソル を使用してこれを実現することもできます。最も簡単な方法は、 selecting 既存のテキスト全体(エディタが空でないと仮定)で、次に- plain_text_edit->TextCursor().insertText(text); (現在選択されているテキストを通常の貼り付けセマンティクスで置き換えます)が、すべてのテキストを置き換えるという単純なケースでは、複雑すぎます。

24
hyde