Russian Qt Forum

Qt => Вопросы новичков => Тема начата: PinkPanther от Декабрь 19, 2011, 21:00



Название: [РЕШЕНО] QPlainTextEdit - что вместо \n?
Отправлено: PinkPanther от Декабрь 19, 2011, 21:00
Добрый день, дамы и господа.
Хочу после завершения ввода текста в это окошко автоматически заменить символ перевода строки на <BR>, для дальнейшей публикации в сети. Но, кажется, при нажатии Enter этот класс вставляет что-то другое, не \n. Подскажите пожалуйста, какой символ надо реплейсить?


Название: Re: QPlainTextEdit - что вместо \n?
Отправлено: BRE от Декабрь 19, 2011, 21:08
'\a' ?


Название: Re: QPlainTextEdit - что вместо \n?
Отправлено: PinkPanther от Декабрь 19, 2011, 21:21
'\a' ?

В качестве эксперимента вставил в код строку:

Код:
text.replace(QString("\a"), QString("<br>"));

Но это ни к чему не привело - все равно текст без <br>-ов. Видимо, не '\a'.


Название: Re: QPlainTextEdit - что вместо \n?
Отправлено: BRE от Декабрь 19, 2011, 21:36
Но это ни к чему не привело - все равно текст без <br>-ов. Видимо, не '\a'.
Блин, а '\r'. Что то я с '\a' промазал. :)


Название: Re: QPlainTextEdit - что вместо \n?
Отправлено: PinkPanther от Декабрь 19, 2011, 21:40
Но это ни к чему не привело - все равно текст без <br>-ов. Видимо, не '\a'.
Блин, а '\r'. Что то я с '\a' промазал. :)

\r - CR, кажется?
Нет, увы. Тоже не работает.


Название: Re: QPlainTextEdit - что вместо \n?
Отправлено: madRoger от Декабрь 19, 2011, 21:42
Цитировать
при нажатии Enter этот класс вставляет что-то другое, не \n

А что же еще ? Для проверки : string.indexOf("\n");

Поробуй заменить в строке \n не на <br>, а на <b>bold text</b> например, сам, думаю, поймешь.

UPD: посмотри на QString Qt::escape ( const QString & plain )


Название: Re: QPlainTextEdit - что вместо \n?
Отправлено: PinkPanther от Декабрь 19, 2011, 21:53
Цитировать
при нажатии Enter этот класс вставляет что-то другое, не \n

А что же еще ? Для проверки : string.indexOf("\n");

Поробуй заменить в строке \n не на <br>, а на <b>bold text</b> например, сам, думаю, поймешь.

UPD: посмотри на QString Qt::escape ( const QString & plain )

Да, точно, спасибо!
Надо было вставлять "&lt;br&gt;", т.к. в результирующем окне он переводит текст в HTML и <br> виден как перевод строки.