2011-12-28 11 views

Respuesta

3

es probable que tenga que hacer una de 2 cosas:

  1. 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.
  2. 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.

+0

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. –

Cuestiones relacionadas