On 6/13/2021 1:08 PM, Thiago Macieira wrote:
That was a toy example application. Most applications will post in event to
something happening, so the event loop has already started.

But we weren't discussing "most applications." The OP asked how to handle a network request and presented an MRE. Or are you saying I should have written a full app for them? Are you like this on StackOverflow also?

In the particular you need app.exec().

You mean like my second working example? I appreciate your pointing out my mistake (several hours after I corrected it) and the general warning about sleeping, but now the horse is already dead.

Don't use processEvents(). That's only slightly less evil than sleep().

Maybe you could expand on that further instead of just making blanket
statements?  Reference?

The reference is the source code.

Huh? In the source code somewhere it says "don't use processEvents()?" Seems maybe that belongs in the docs... :) I understand what it means to read the source to see how something works, but I'm not sure how that applies here.

QEventLoop calls processEvents for you, but it also reacts to quit() and other
event-interruption mechanisms, as well as interrupt-prevention mechanisms. If
you call processEvents() on your own, you have to provide your own mechanism.
Many an application got stuck calling processEvents() after being asked to
exit that loop.

If you think you need to exclude UI events, you're wrong.

If you think you want to process a limited number of events (especially "just
one"), you're wrong.

Thanks for elaborating. So the actual answer/advice is to use processEvents() _correctly_ (or QEventLoop which "autmagically" does the "right thing" for you... read its the code to see what that is). Which is certainly a valid point. I will amend any future mention if it with a big *"when used correctly" footnote instead of assuming that someone would already do that in the first place.

Is the condescending tone really necessary to get your point across?

Regards,
-Max
_______________________________________________
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest

Reply via email to