2015-05-23 13 views
10

Dokumentacja Qt5 nie wspomina, że ​​QPlainTextEdit ma numer , taki jak QTextEdit. Ale nie sądzę, że to niemożliwe. Jedyny sposób, jaki znalazłem, to użycie QTextDocument, który może mieć setPlainText(const QString& text). Więc muszę to zrobić:Jak ustawić tekst dla QPlainTextEdit?

plain_text_edit->setDocument(text_document); 

Problemem jest text_document powinien być wskaźnikiem. Nie tak jak 's setText, który może przyjmować zmienną lokalną jako jej parametr. Czy istnieje i tak setText jak QPlainTextEdit?

Odpowiedz

16

To bardzo proste, wystarczy get the current document i set its text:

plain_text_edit->document()->setPlainText(text); 

Alternatywna droga przede clear the editor, następnie append new text:

plain_text_edit->clear(); // unless you know the editor is empty 
plain_text_edit->appendPlainText(text); 

Można również użyć text cursor of the editor na wiele sposobów Aby to osiągnąć, najprostsze y przez selecting cały istniejący tekst (zakładając, że edytor nie jest pusty), a następnie wykonując plain_text_edit->TextCursor().insertText(text); (który zastępuje obecnie zaznaczony tekst zwykłą semantyką wklejenia), ale dla tego prostego przypadku, który być może jest zbyt skomplikowany.

Powiązane problemy