Tengo un QScrollArea que engendra mi asombroso widget de desplazamiento. Me gusta hacer actualizaciones sobre los contenidos en varias ocasiones.update() o repaint() no se activa paintEvent()
Para esto hice una anulación de paintEvent(QPaintEvent *)
. Luego, cada vez que quiero que lo haga, llamo al update()
en el widget.
Problema:paintEvent()
nunca se llama por esto!
Lo que intenté en la solución de problemas hasta el momento:
repaint()
uso en lugar deupdate()
. Debería llamarlo instantáneamente. Desafortunadamente no.- Prueba para
isVisible()
yupdatesEnabled
- Prueba si mi anulación es correcta. Cambiar el tamaño de la ventana llama a mi función. Solo fallan mis llamadas de actualización manual(), repaint().
- Implemente un QTimer para activar la actualización() o vuelva a pintar() cada 500 ms. El disparador da salida de texto, la función no se llama.
¿Alguien tiene una idea de lo que debe comprobar a continuación? ¿Qué podría hacer volver a pintar() no llamar a paintEvent()?
No dibujando en el QScrollArea, sino que su QLabel asignado me solucionó el problema. Obtengo la actualización() s para QLabel. – ypnos
¿podría pegar en su encabezado/definición de clase? ¿Tiene todas sus macros Q_OBJECT allí? también proporcione un fragmento rápido sobre cómo está anulando su paintEvent() ... – bgs