I have a multi-threaded command line application written in C++ on Ubuntu that downloads data from a remote server over tcp sockets in one thread (receive_thread), processes those data in another thread (process_thread), and sends results to another remote server in a third thread (post_thread). Download, process, and post are done asynchronously and in real time. Each thread outputs data and error messages into stdout and stderr, so the messages from all threads are intermixed in the shell.
I want to develop a GUI that will display all those messages in separate windows, I will also need to input data. I see it as a parent window that launches multiple non-modal dialog boxes, each dialog displaying messages from each thread. I want to see the messages from all threads at the same time, I also want to be able to spread dialog boxes across multiple monitors. What toolkit would be the best and easiest for the task? GTK (I hear it does not support multi-threading), Qt, Tcl/Tk, anything else?