Пользуйтесь тегом для обрамления кода
recived = new QVector<QQueue<Message>>(Message::last_command);
При первой же попытке
recived[Message::give_time_periods_lists].data()->append(lastMessage);
получаю Segmentation
Это Вы обратились не к "элементу вектора" а к "массиву этих векторов". Правильно напр так
C++ (Qt)
(*recived)[Message::give_time_periods_lists].data()->append(lastMessage);
// а лучше так
(*recived)[Message::give_time_periods_lists].append(lastMessage);
И точнее здесь использовать QList вместо QVector