Coder's rant: my project uses three libraries (Qt, OpenCV, and libfreenect), and all of them have their own eventloop. This is somewhat annoying. Rather than give each its own thread and deal with all the locking issues that are bound to occur, I made my own mainloop and call the equivalent processEvents() function for each library.
It'd be cool if the libraries let you plug in other eventloops, or at least call the event-processing functions that power other eventloops. Actually, I wouldn't be surprised if you could with Qt and glib, but OpenCV has a single function that processes events (cvWaitKey(), which actually burns CPU time waiting for more events, which is annoying).
It is questionable whether my system is actually going to work, particularly in time to do a user study to write up by Monday morning.