"C++ GUI Programming with Qt 3" by Jasmin Blanchette, Mark Summerfield

This is the official Qt programming book, approved by Trolltech and written by two of its employees.

If you'll only buy one Qt book, this should definitely be it. Writing in a clear, flowing and professional style the authors present the popular Qt GUI toolkit from the ground up.

The book is divided to two: Basic Qt, where you get a general introduction to the framework, and Intermediate Qt where more advanced topics are explored. As the authors note, you're quite ready to write serious applications after reading the first part alone, and then refer to the second on a need-to basis.

I agree since it's just what I did. Knowing no Qt at all, after one day of reading this book I started coding a non-trivial application. Since then, I read a few of the Intermediate chapters and refer to others and the book index for reference.

The examples given by the authors are great - you get to see an implementation of a simple Spreadsheet and of a function plotter - all just in the first chapters. There are plenty of code snippets and full, ready-for-compilation code is supplied with the book. If you've read a few programming books you surely know how daunting bad and/or trivial examples can be. A good book should have good examples that display non-trivial concepts in an easy-to-understand way.

What I liked most about the book is the code. The authors admit they asked Qt in-house gurus for help, and it shows. The code is beautiful in any way code can be (here it's hard not to mention my general good impression of the Qt framework and the elegant OO style it's written in), and you get to learn a lot from it, because it does things "the right way".

All in all, this book is highly recommended. Qt has terrific documentation, but it's usually difficult to get started from reference alone. The book comes to complement it - and together with the documentation, anyone can learn Qt and write powerful applications very quickly.