Unsolved QOpenGLWidget::repaint() not immediatly repaint
-
Hellow :
I use the QOpenGLWidget class to rendering OpenGL graphics at a Desktop PC(win7).
I call repaint() ,but it not immediate repaint.
it several times results in just one paintEvent() called that act like update() .
I use repaint() work fine at another laptop(XP).
why?how to solve it? -
Hi and welcome to devnet,
What version of Qt are you using ?
Can you show the code you are using ? -
@SGaist
QT5.6.2
the code too much to show.
the code runs no problem in my laptop PC , only the repaint() function not fine in my desktop PC but others are fine. -
Then you should check the difference between the two machines. It could be a driver problem.
What graphic stack do you use on that desktop machine ?
-
what is graphic stack?
-
Graphic Card
Driver
etc. -
ATI Radeon HD 4600 Series
main driver: aticfx32.dll -
The problem has been solved. To show the effect,I use the for loop delay after repaint(), repaint() has no effect, but the delay function written with Qtime, repaint() can redraw the immediately.
-
Because if you use a tight loop you'll block Qt's event loop hence no painting.