Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Should I use QCoreApplication::processEvents() or QApplication::processEvents()?

I have a method which is called from both QThreads and the main thread. this method can sometimes take a long time to do its computations in a loop so I put QCoreApplication::processEvents() and this prevents the GUI from freezing. At some point I had changed QCoreApplication::processEvents() for QApplication::processEvents() but that caused the GUI to freeze (im pretty sure thats what was fereezing it because since I put QCoreApplication::processEvents() back it hasnt frozen again) Am I right to think that calling QApplication::processEvents() from both the main thread and QThreads can freeze the GUI?

like image 877
yan bellavance Avatar asked Jan 27 '10 22:01

yan bellavance


1 Answers

Neither, processEvent() should be calld only when you have actual pending events to process. You may find this useful : How to make Qt work when main thread is busy?

like image 92
gregseth Avatar answered Sep 27 '22 20:09

gregseth