QByteArray вижу смысл использовать, если работать с QDataStream
C++ (Qt)
QByteArray buff;
QDataStream stream(& buff, QIODevice::WriteOnly);
stream.setByteOrder(QDataStream::LittleEndian);
int len = stream.writeRawData(reinterpret_cast<char *>(&tt), sizeof(tt))
//Q_ASSERT(len == sizeof(tt))
... и передавать buf.data();
П.С. как сказали выше, не забываем о выравнивании структур в памяти...