Bueno, pues doy la tabla por terminada.
Mas o menos hace todo lo que estaba buscando. Sólo se me ha quedado la espinita de que el desplegable de ciudades no funciona con Tab la primera vez que se introduce una nueva ciudad.
Por otro lado, el diseño me ha obligado a usar por primera vez la palabra
mutable, en la función
void setModelData() const de uno de los delegados.
Pero bueno, creo que me ha quedado una cosa bastante flexible y fácilmente reutilizable para otra fuente de datos.
En fin, marco como solucionado, y aunque pensaba copiar el código aquí, es demasiado extenso, así que lo mantendré en sourceforge.
https://sourceforge.net/projects/tabla-primos/
Gracias a todos, y en especial a eferion