Ver Mensaje Individual
  #13 (permalink)  
Antiguo 02/12/2016, 04:28
dehm
 
Fecha de Ingreso: septiembre-2010
Mensajes: 494
Antigüedad: 14 años, 1 mes
Puntos: 10
Respuesta: Qt. Cómo evitar el modo de edición al avanzar con Tab

Cita:
Iniciado por eferion Ver Mensaje
¿Has probado lo que te he comentado en mi última respuesta?
Si. Ya te comentaba que el definir la función closeEditor no me ha funcionado.
Aunque también es verdad que no he sabido de dónde sale la función currentColumn() y no se me ocurrió otra cosa que quitarlo de la condición:

Esto es lo que puse (que no me funcionó):
Código Python:
Ver original
  1. void MiDelegado::closeEditor(QWidget* editor, QAbstractItemDelegate::EndEditHint hint)
  2. {
  3.     qDebug()<<"Cerrando el editor";
  4.     if (hint == QAbstractItemDelegate::EditNextItem /*&& currentColumn() == 1*/)
  5.         hint = QAbstractItemDelegate::EditNextItem;
  6.       else if (hint == QAbstractItemDelegate::EditPreviousItem /*&& currentColumn() == 0*/)
  7.         hint = QAbstractItemDelegate::EditNextItem;
  8.       QAbstractItemDelegate::closeEditor(editor, hint);
  9. }

Por otro lado al leer en la ayuda:
"The hint provides a way for the delegate to influence how the model and view behave after editing is completed. It indicates to these components what action should be performed next to provide a comfortable editing experience for the user. For example, if EditNextItem is specified, the view should use a delegate to open an editor on the next item in the model."

pensé que no era este el camino correcto, ya que parece que precisamente el hint EditNextItem lo que hace es abrir el siguiente widget en modo de edición. Pero vamos, que estoy hecho un lío

edito: creo que no lo he traducido bien, entonces lo que dice es que "si se especifica EditNextItem, la vista debería usar un delegado para abrir un editor en el siguiente item del modelo"
(pero aún así, me he quedado igual)
__________________
Mi calculadora en Qt