Bueno, otra vez preguntando sobre el tema modelo-vista.
Mi duda ahora es cómo borrar filas no consecutivas, ya que la función removeRows pide una fila inicial y luego la cantidad de filas consecutivas que habrán de ser borradas.
Por ahora lo he resuelto así:
Parto de una lista de
int con las filas a eliminar:
Esta fila se rellena en el evento:
Código C++:
Ver original--------------------------------------------
if (evento->key() == Qt::Key_Delete)
{
QList <int> listaFilasParaEliminar;
for (int i=0;i<modelo->rowCount(QModelIndex());i++)
{
if (seleccion->isRowSelected(i,QModelIndex()))
{
listaFilasParaEliminar.push_back(i);
}
}
eliminar(listaFilasParaEliminar);
}
Y llamo a la función
La cual va borrando las filas de una en una:
Código C++:
Ver original---------------------------
int fila;
foreach (fila,Lista)
{
modelo->removeRows(fila, 1,QModelIndex());
}
---------------------------
Esto funciona, pero claro, lo suyo es que vaya cogiendo los rangos de filas consecutivas, pero no sé cómo se hace.
Saludos y gracias!