Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/02/2017, 04:10
dehm
 
Fecha de Ingreso: septiembre-2010
Mensajes: 494
Antigüedad: 13 años, 7 meses
Puntos: 10
Qt. El método displayText() no funciona si defino paint()

Bueno, pues esta es la duda:

Tengo un delegado, en el cual defino los métodos :
Código C++:
Ver original
  1. QWidget * createEditor(QWidget * parent, const QStyleOptionViewItem&option, const QModelIndex&index) const;
  2. void setEditorData(QWidget * editor, const QModelIndex&index)const;
  3. void setModelData(QWidget * editor, QAbstractItemModel * model, const QModelIndex&index) const;
  4. QString displayText(const QVariant & value, const QLocale & locale) const;

Este último método me permite formatear la salida (tengo otras dudas acerca de él, pero prefiero primero solventar ésta que estoy preguntando)

Luego creo otro delegado, heredando de este primero, en el que sólo defino los metodos:
Código C++:
Ver original
  1. void paint( QPainter *painter,const QStyleOptionViewItem &option, const QModelIndex &index ) const;
  2. QSize sizeHint( const QStyleOptionViewItem &option, const QModelIndex &index ) const;

Pues bien, los números que se ven en la columna donde actúa este delegado no están formateados como en las otras columnas, según el método displayText().

Y la pregunta es si esto es normal, es un bug de Qt, o es porque el método paint() "anula" al método displayText()

Saludos y gracias!
__________________
Mi calculadora en Qt