A few weeks ago the APress title Foundations of Qt Development left the printing presses. The book introduces Qt in a step by step fashion, but also delves into most areas of the toolkit. The highlights include an in-depth look at the model/view classes, as well as introductions to all the tools and widgets needed to get started. The publishers were kind enough to send KDE Dot News a copy of the book, read on for a short review.

There have been a number of Qt 4 books published recently, which is a good sign of a platform with a healthy and growing developer community. One of the problems for authors is that Qt is already one of the best documented programming libraries around, however there will always be a need for books from people who need a tutorial to get a good starting tutorial or to teach them all the corners of Qt.

This book starts with an assumption that the reader knows C++ and has some understanding of its standard template library. It jumps in to describing the Qt style of C++ and how it is different to STL. The rest of part 1 describes using widgets, dialogues, Qt Designer and main windows. In only four chapters the reader will have a good understanding of the most important parts of Qt.

Part 2 covers every section of the Qt library starting with Interview, the model view classes. Other chapters include creating your own widgets, files, translations, using plugins, multi threading, databases, networking, build systems with a detailed discussion of QMake and CMake (a must for KDE developers) and unit testing.

At the book's site you can download example source code as well as the sample chapter "Files, Streams and XML". The book is available both as a ordinary paper book and as a eBook. As a live appendix to the book, the site thelins.se/qt provides links, resources and articles.

While not a book for a beginner programmer, or even a beginner to GUI programming, this is a book with a thorough and complete coverage of Qt and would suit well those looking to move to a better development framework or even those who use Qt but want to better understand the complete power of KDE's most important library.

Comments

« or even a beginner to GUI programming »
I'm currently reading "C++ Primer" and planed to buy this book, but I never had any experience with GUI programming. What book should I read to not be a "beginner to GUI programming"?

I've just learned the basics of C++ and would like to start learning Qt for GUI development. Now we have three books about Qt. Which one is recommended for a beginner like me. Currently I have a feeling that people recommend "The Book of Qt 4" for beginners like me. Is this true? It would be nice to see some detailed comparison of all these books so we could choose the right one more easily.

Please keep in mind that I only skimmed in my copy and havn't read it thoroughly yet, but I dare to say that this book puts just the right parts together to give you a very good help to start writing Qt applications when you are not that experienced or a C++ beginner with some programming experience in a similiar language. At lest I think it does so for me. A buy I don't regret.

When I saw 'Book Review' and 'Johan Thelin' in the same sentance, I wondered how an author could review his own book. However, this isn't a review, it's really only a publicity blurb and I have no problem with that, but I still think there should be an acknowledgement in the text that the co-poster is the author. Changing the title would help too, call it a preview or overview or something.

Also: "The publishers were kind enough to send KDE Dot News a copy of the book" rings a bit false, considering one of the "reviewers" is actually the author. I would assume he already has a copy of his own book. And I'm pretty sure that if I were to call up the marketing department at Apress, the publisher, they would never have heard about KDE Dot News.

Still, thanks to the Dot for being honest and putting Johan as an author of this article. And I'm sure the book is great! I can say that without bias as I have not even read it :-)