A large amount of functionality is duplicated between standard c++ and Qt. At some point it seems logical but many times it looks foolish. Like I feel like doing a new progr
As there is no GUI in C++ you should abstract the GUI code from the rest of the real code.
Then within your QT implementation of your GUI abstraction feel free to use QT code.
You will also then be able to write Wx/Quartz GUI abstraction without affecting the real code.
In the real code (were the work is done) stick to standard stuff (or cross platform libs that are nearly standard (boost)). One could argue that QT is cross platform. Just remember that that using a lib here will be tightly coupling your code the lib, thus extracting it latter date will be non trivial. (see the previous question about removing Rouge Wave from a legacy application)