es probable que tenga que hacer una de 2 cosas:
- Usted tendría que subclase
QItemSelectionModel
e implementar funciones para agregar y eliminar seleccionados QModelIndex
es por lo que sólo se agregan elementos a partir de 2 filas a ella.
Usted puede hacer esto por tener una implementación personalizada para señales de captura que QItemSelectionModel
emite tales como:
connect(tableWidget->selectionModel(), SIGNAL(selectionChanged(QItemSelection &, QItemSelection &)), selectionHandler, SLOT(updateSelection(QItemSelection &, QItemSelection &)));
El selectionHandler
es el objeto que comprueba las filas y columnas de las QModelIndex
artículos en QItemSelection
y elimine todos los índices que están fuera del rango de filas que le gustaría que el usuario guarde y luego:
selectionHandler->ignoreSelectionUpdateSignal();
tableWidget->selectionModel()->select(QItemSelection&);
selectionHandler->acceptSelectionUpdateSignal();
El ignore
y accept
necesita asegurarse de no entrar en una señal de procesamiento infinito de bucle selectionChanged
.
Muy bien, gracias, creo que voy a ir de una manera más simple que simplemente le da un mensaje al usuario si seleccionan demasiado, pero eso responde mi pregunta. –