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