Ver Mensaje Individual
  #9 (permalink)  
Antiguo 01/12/2016, 05:33
eferion
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 10 años, 1 mes
Puntos: 204
Respuesta: Qt. Cómo evitar el modo de edición al avanzar con Tab

El problema que tienes es que no sabes cómo funciona la edición por debajo.

Al editar una celda lo que sucede es que se crea un widget que, por defecto, se va a superponer a la celda a editar, de tal forma que al usuario le da la impresión de que está escribiendo sobre la propia celda... pero no es así. Dicho widget de edición se carga dentro de un contenedor que es ese viewport que comentas.

En cuanto al tema del tabulador en edición, yo probaría a hacer algo tal que:

Código C++:
Ver original
  1. void MiDelegado::closeEditor(QWidget* editor, QAbstractItemDelegate::EndEditHint hint)
  2. {
  3.   if (hint == QAbstractItemDelegate::EditNextItem && currentColumn() == 1)
  4.     hint = QAbstractItemDelegate::EditPreviousItem;
  5.   else if (hint == QAbstractItemDelegate::EditPreviousItem && currentColumn() == 0)
  6.     hint = QAbstractItemDelegate::EditNextItem;
  7.   [ClaseBase]::closeEditor(editor, hint); // Sustuir [ClaseBase]
  8. }
__________________
La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo.