18/12/2014, 14:41
|
| | 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. |