Cita:
Iniciado por eferion ¿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 originalvoid MiDelegado::closeEditor(QWidget* editor, QAbstractItemDelegate::EndEditHint hint)
{
qDebug()<<"Cerrando el editor";
if (hint == QAbstractItemDelegate::EditNextItem /*&& currentColumn() == 1*/)
hint = QAbstractItemDelegate::EditNextItem;
else if (hint == QAbstractItemDelegate::EditPreviousItem /*&& currentColumn() == 0*/)
hint = QAbstractItemDelegate::EditNextItem;
QAbstractItemDelegate::closeEditor(editor, hint);
}
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)