Yo no te voy a poder seguir respondiendo, que no uso Qt. Lo mejor es que busques casos similares por google, o en los foros de Qt, o busques tutoriales sobre esto para ver qué falta.
Una opción, que es la que usan muchas clases, es, en vez de redimensionar de 1 en 1, redimensionar con espacio extra. Generalmente, se suele ahcer duplicando el tamaño del array, pero esto ya depende. Por ejemplo, si un array de 4 se llena, lo redimensionamos a 8. Llenamos el quinto hueco, y el resto quedan sin usarse.
Para hacer esto, hay que almacenar además el tamaño del array "usado", para saber donde insertar o hasta donde leer.