Russian Qt Forum

Qt => Общие вопросы => Тема начата: agor от Апрель 04, 2008, 12:39



Название: QtextEdit & toPlainText()
Отправлено: agor от Апрель 04, 2008, 12:39
Привет всем!
Знакомлюсь с Qt на Windows платформе. Возник вопрос с textEdit->toPlainText()
текст возвращается в Unix формате, где конец строки \n (0xA). Известо, что Windows формат \r\n (0xD 0xA).
Можно как-то изменить поведение toPlainText()  чтобы конец строки был Windows - кий?     


Название: Re: QtextEdit & toPlainText()
Отправлено: agor от Апрель 04, 2008, 13:40
Вот нашел подсказку :

QString s = toPlainText();   
if ( m_endLine != MainImpl::Default )   
{        s.replace("\r\n", "\n");       
  if ( m_endLine == MainImpl::Windows )           
    s.replace("\n", "\r\n");   
}


Название: Re: QtextEdit & toPlainText()
Отправлено: Tonal от Апрель 07, 2008, 10:09
А зачем это тебе понадобилось?


Название: Re: QtextEdit & toPlainText()
Отправлено: ant_studio от Апрель 07, 2008, 10:23
Попробуй через QTextCodec

Для отправки текста в форму
QString str;
QTextCodec* code = QTextCodec::codecForName("CP1251");
str = code->toUnicode("бла бла  бла");

Для получения и обработки текста из формы
QString str;
QTextCodec* code = QTextCodec::codecForName("CP1251");
str = code->fromUnicode(ui.lineEdit->text());


Название: Re: QtextEdit & toPlainText()
Отправлено: Вячеслав от Апрель 07, 2008, 17:58
Гы .... ну если кодеки в ход пошли - тогда может проще через виртуальную машину(вмварь) это сделать ?!  ;D ;D ;D
А вообще при записи\чтении файла используем QIODevice::Text ;)