Ver Mensaje Individual
  #2 (permalink)  
Antiguo 18/12/2014, 14:41
eferion
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 10 años, 3 meses
Puntos: 204
Respuesta: Qt. Duda con los delegados

Hay que sobrecargar varias funciones para que el sistema funcione:

* createEditor: Esta ya la tienes, su función es crear el widget que permitirá la edición.

* setEditorData: Esta función rellena el widget con los datos del modelo.

* setModelData: Esta función recupera la información del widget para almacenarla en el modelo.

* updateEditorGeometry: Esta función permite ubicar correctamente el widget para que aparezca justo encima de la celda a editar.

Si, por ejemplo, no has sobrecargado setEditorData, entonces se acabará llamando a la función por defecto, que coge tu widget y lo castea al que usa la tabla por defecto... si no coinciden los tipos el código acabará accediendo a memoria no válida y petará.

Es necesario sobrecargar todas las funciones a la vez... eso sí, algunas se pueden dejar sin código. Al menos esto permite invalidar la función base.