QByteArray сериализуется в разных форматах в файловой системе, если используется другая версия библиотеки Qt (скажем, 4.5.2 против 4.7.1). Я использую QSettings в своем приложении для хранения некоторых двоичных данных в .ini
файле. Теперь приложение переносится на Qt 4.7.1, и если обновленная версия приложения считывает (с использованием метода значений QSettings) полученный QByteArray не равен сериализованному предыдущей версией приложение.
Возможное решение:
поддерживать версию Qt, используемую приложением (я сохраняю версию приложения в настройках)
реализовать собственный формат для QSettings (оболочка для формата ini) с собственными ReadFunc и WriteFunc.
чтение / запись настроек QByteArray с помощью QDataStream в setVersion с использованием поддерживаемой версии Qt.
Есть еще простые решения?