@Christina123 Use QDataStream:
// QPainterPath to QByteArray
QByteArray ba;
QDataStream ds(&ba, QIODevice::WriteOnly);
ds.setVersion(QDataStream::Qt_5_15);
ds << path;
qDebug() << ba;
// QByteArray to QPainterPath
QPainterPath path;
QDataStream ds(ba);
ds.setVersion(QDataStream::Qt_5_15);
ds >> path;
qDebug() << path;
And knowing that QDataStream supports QVector then in your case the code doesn't change much:
// QVector<QPainterPath> to QByteArray
QByteArray ba;
QDataStream ds(&ba, QIODevice::WriteOnly);
ds.setVersion(QDataStream::Qt_5_15);
ds << paths;
qDebug() << ba;
// QByteArray to QVector<QPainterPath>
QVector<QPainterPath> paths;
QDataStream ds(ba);
ds.setVersion(QDataStream::Qt_5_15);
ds >> paths;
qDebug() << paths;