из справочника по классам QByteArray страница:
float f = 0.0f;
QByteArray array(reinterpret_cast<const char*>(&f), sizeof(f));
Инициализирует QByteArray
с содержимым памяти поплавка, хранящимся в нем.
Если он у вас уже есть и вы хотите добавить к нему данные:
array.append(reinterpret_cast<const char*>(&f), sizeof(f));
Должен сделать то же самое.
Чтобы пойти по другому пути, вам просто нужно выполнить обратную операцию:
float f2;
if (array.size() >= sizeof(f2)
{
f2 = *reinterpret_cast<const float*>(array.data());
} else
{
// The array is not big enough.
}