Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Qt. El método displayText() no funciona si defino paint()

Estas en el tema de Qt. El método displayText() no funciona si defino paint() en el foro de C/C++ en Foros del Web. Bueno, pues esta es la duda: Tengo un delegado, en el cual defino los métodos : @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código C++: Ver original QWidget * createEditor ...
  #1 (permalink)  
Antiguo 19/02/2017, 04:10
 
Fecha de Ingreso: septiembre-2010
Mensajes: 494
Antigüedad: 14 años, 1 mes
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

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:34.