7 of 8 people found the following review helpful
2.0 out of 5 stars
I didn't like this book, 14 Dec 2010
I'm afraid I didn't like this book.
The authors seem to have tried to make it be all things to all people; it starts from a (really interesting) history of Qt, then a "Hello world" example, and slowly progresses down to some pretty esoteric features. So, one could say it contains everything one needs to know about Qt.
In so doing though, I feel it fails to be either
- a nice introduction for newbies, or
- a reference book.
Rather, the book sits on a hedge between the two, and I guess it will disappoint people who buy it for either purpose.
Why isn't it a nice introduction for newbies? Well, I think the best text I have ever read was "Programming Windows 3.1" by Charlie Petzold. This is where I learnt writing (admittedly ugly) GUI stuff. That book was brilliant; it took you by the hand and explained everything, with examples, and more importantly, WHY you did things. In contrast, this book rather rapidly glosses over some pretty heavy topics. E.g. signals and slots (the crux of Qt) are covered on pages 6 and 7 of the book; whoever understood this, well, lucky them... It carries on like this. Further, the code fragments are scattered among text, a layout which gets me lost.
And why do I think it isn't a good reference book either? That's because it is not organized as a reference book. The examples are fairly generic (and so they should be), and do not contain the detail one would require from a reference book. Again, the intertwining of text and code doesn't help quickly wending through to find something. I don't think this was supposed to be a reference book anyway; Nokia's open source "Qt Creator" has superb built-in help and lots of nice examples, almost obviating the need for a paper reference book.
Just as I was about to give up on Qt altogether, I thought I'd ask our company's computer guru for help. So I bought pizzas and beer, and invited him for the weekend for a crash course. In a couple of days, he showed me enough preliminaries to get me going and now, about a month later, I consider myself totally at ease with Qt (without having consulted him again after that first weekend).
- Qt is great, easy to learn and easy to use if you are reasonably fluent in C++ and have had some previous experience in GUI programming.
- Qt deserves a book for newbies. This one isn't it. I don't know which one is (if one exists). I don't think Qt needs much more than a good introduction; once you've grasped the basics (which is the difficult bit), Qt is so well organized and sensible, everything else just clicks in place on its own.