What you're showing might be a Qt bug. Alas, you might not need to checking this way if another thread has any pending events.
The only reason I see that you might want to do this is to manage your own thread pool and move objects to threads that are not "busy". You'd keep a list of "busy" and "available" threads. That's what QAbstractEventDispatcher::aboutToBlock
signal is for. Your thread pool should connect to this signal for every thread it creates, and add the thread to the "available" list upon reception.
If, on the other hand, you're trying to use it to implement some event compression, that's really the most awkward way to go about it. In another answer, I show how to implement custom event compression, and also how to compress signal-slot calls.