Now you have the problem when trying to combine multiple such libraries. For example, you can try using GTK+ and QT in an application at the same time.
One thing that has always bugged me is that there is a lack of standardized (cross platform) non-blocking DNS lookup functionality. This adds to the main-loop complexity, since you have to poll() certain types of resources, and have to deal with threads or subprocessed in order to look for DNS results.
Well written frameworks like Qt abstract away this complexity, but that may not always play nice when mixing libraries.