6 Answers
6

Best advice I can give is to try it, and compare it to other frameworks.

Personally, I found that once I understood signals and slots, I was sold. Qt effectively extends the C++ language to provide these facilities, and I'd highly recommend setting yourself a little project to accomplish in Qt to explore these features.

In my (admittedly limited C++ GUI development) experience Qt makes writing apps a pleasure, not only GUI parts, but has so many utility libraries and it is so well designed that it helps developing the non GUI parts of the application as well.

Another benefit about learning Qt is the huge amount of bindings so if in another project you switch languages, you can still use what you've learned. I also take the amount of bindings as a good indicator of the library's quality.

I consider QT the ONLY viable choice when it comes to GUI programming simply because anything else isn't even remotely as easy to use and learn.
MFC is an abomination of object oriented design and isn't such a dramatic ungrade from using bare win32.
wxWidgets is obscure and not very mature
WTL is too minimalistic.

As far as I figure QT has no disadvantages to speak of. Also it has excellent support, even if you're not a commercial customer and a great community.

I'm developing with Qt for five years...
So, if you would like a great framework to develop a cross-platform C++ application, learn Qt. You won't regret it !
It's easy to learn, with great support and very powerful and well designed !
Moreover Trolltech (Nokia) provides a complete development solution (QtCreator, ...)

I've started using Qt recently in a GUI/network project. Wouldn't switch to any other GUI framework now. Apart from GUI and networking it also has lots of other great stuff including parallel computing API and WebKit intregration. At work we use Eclipse 3.4 IDE with CDT 5.0 with Qt plugins - apart from few minor bugs it does the job really well. Haven't upgraded to Eclipse 3.5 and CDT 6.0 yet, gotta see if they fixed the bugs there. Bundled Qt Creator isn't all that much suited for larger projects though.

Things I like:

Signals / Slots are a great way to achieve loose coupling

Layout system is very good (after you find out how it works)

Networking support (really easy to use)

Good graphics support

Great documentation with lots of examples

Works on embedded devices too!

There is also MS Visual Studio integration

No need to install runtime libraries along with your program

Things I don't like:

MOC compiler errors (very uninformative sometimes)

qmake (haven't been able to make it read environment values)

Uses own container templates instead of STL

Other than that, Qt is more than capable of handling most of your needs and since it's under LGPL now you can use it for closed-source projects as well.