Russian Qt Forum
Ноябрь 22, 2024, 20:57 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Qt4->Qt5 проблемы с локализацией  (Прочитано 4561 раз)
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« : Май 27, 2013, 15:31 »

Привет. Есть файлы xml, вещественные числа пишутся с запятой.
Теперь локаль в Qt5 их читать не хочет. Как разрешить эту проблему?
Вручную переводить файлы не вариант, их много, и генерятся в делфях и других прогах.
Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #1 : Май 27, 2013, 15:33 »

точнее проблема в том, что decimalPoint = , но почему то атрибут XML toFloat выдает ошибку!! Грустный

Код:
pos.setX(railItemNode.attribute("PosX").toFloat(&ok)); 
pos.setY(railItemNode.attribute("PosY").toFloat(&ok));

ok==false, результат 0 . Грустный
в Qt4 все работает нормально.
Не знаю, может ли на это повлиять следующий кусок кода
Код:
#if QT_VERSION <= QT_VERSION_CHECK(5,0,0)
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("CP-1251"));
#endif
Записан
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #2 : Май 27, 2013, 15:57 »

А чему равен тег encoding в исходных xml?
Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #3 : Май 27, 2013, 16:02 »

он пустой.
нашёл как,
QLocale::system().toFloat(QString &,bool &)
странно почему это не применяется в модуле XML
Записан
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #4 : Май 28, 2013, 13:24 »

странно почему это не применяется в модуле XML
А почему это должно применяться? А если, вдруг, XML был сгенерирован на системе с другой локалью? Тогда Ваш код не прокатит.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.047 секунд. Запросов: 23.