[Kde-devel-es] Una duda sobre QPainter
Miguel Lobo
kde-devel-es@mail.kde.org
Sat, 28 Dec 2002 14:24:38 +0100
> Efectivamente el problema era que no usaba un método paintEvent en
> mi aplicación. Ahora que lo he incluido ya funciona. O bueno...,
> medio funciona, porque si trato de actualizar los gráficos se
> quedan los antiguos porque no consigo borrarlos. Emplo
> repaint(true); y no va y tampoco funciona empleando erase(); Debe
> ser algo evidente que estoy obviando. Otro error que tengo es que
> si coloco una ventana encima de mi aplicación pierdo los gráficos
> al retirarla para dejar mi aplicación en el frente. Es decir es
> como si los trazos que pinto no fueron persitentes en ese caso
> (...y demasiado persistentes en el otro). Estoy perdido ¿a alguien
> se le ocurre alguna pista de donde puedo mirar?.
¿Seguro que ahora haces todas las llamadas a los métodos de QPainter
desde tu paintEvent (o métodos llamados desde tu paintEvent)? Si es
así, no sé cuál puede ser el motivo de tus problemas, especialmente
del segundo.
El primer problema puede ser uno que yo también tuve, y es que
contrariamente a lo que yo esperaba parece que al llamar a repaint en
un Widget *no* se llama automáticamente a repaint en los Widget
hijos. Es decir, que tú tienes que llamar a repaint manualmente en
cada uno de los Widgets que quieras actualizar. (Lo que yo hice,
aprovechando que repaint es un slot, fue crear una señal en mi Widget
padre y conectar el slot repaint de cada Widget hijo a esa señal.
Así, al emitir la señal se repintaban todos los Widget hijos. No sé
si sería la solución adecuada, pero bueno).
--
Miguel