Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Конкере от Январь 16, 2012, 23:21



Название: Чтение ODF-файла
Отправлено: Конкере от Январь 16, 2012, 23:21
Приветствую. Понимаю,что этот вопрос уже задолбал надоел, но не могу прочесть odf-файл с кириллицей. Ниже код функции загрузки(взято из Демонстрационных примеров библиотеки Qt 4.8 ). В чем проблема может быть(прошу сильно не бить, новичок в Qt)?

Код:
bool TextEdit::load(const QString &f)
 {
     if (!QFile::exists(f))
         return false;
     QFile file(f);
     if (!file.open(QFile::ReadOnly))
         return false;

     QByteArray data = file.readAll();
     QTextCodec *codec = Qt::codecForHtml(data);
     QString str = codec->toUnicode(data);
     if (Qt::mightBeRichText(str)) {
         textEdit->setHtml(str);
     } else {
         str = QString::fromLocal8Bit(data);
         textEdit->setPlainText(str);
     }

     setCurrentFileName(f);
     return true;
 }


Название: Re: Чтение ODF-файла
Отправлено: kambala от Январь 16, 2012, 23:36
может надо использовать fromUtf8 (или другой юникодный метод) вместо fromLocal8Bit?


Название: Re: Чтение ODF-файла
Отправлено: zBritva от Январь 27, 2012, 18:45
Код, с которым вы пытаетесь прочитать ODF файл, не годится...
 
Видел данный пример в Демках.
Он загружает только html или другой простой текст...
ODF из себя представляет zip архив с xml документом, а так же c всевозможными рисунками и прочими объектами...

Жаль, что разработчики Qt, ограничились классом QTextDocumentWriter...

я сам тоже столкнулся с потребностью прочитать ODF файл, но мои поиски пока безуспешны?