Matthias Kalle Dalheimer
For anyone programming Qt,
Programming with Qt, Second Edition provides an excellent one-volume tutorial and reference to virtually all the features and APIs available in the powerful Qt C++ GUI cross-platform library. Whether you are just starting out with Qt, or want to catch up on new and advanced features, this title offers an invaluable resource for readers.
The no-nonsense approach and right-on-target examples help distinguish this text. The book begins by making a case for cross-platform development. (Qt shows that Java is not the only game in town in this regard.) A later section on good GUI design and some hints for better portability help make this title a good way to learn GUI programming from the ground up.
Short, clear examples show off the basics, starting with a "Hello World" application. Emphasis is on using the Qt APIs effectively rather than getting bogged down in C++ syntax. Since GUI programming is a strength, the author covers the built-in "widgets" available in Qt in excellent detail, including fancier controls like tables and new dial components. The Qt library is also a general-purpose application framework, and there's coverage here for file APIs, collections, and late-breaking support for XML processing.
The basics are augmented here with short sections showing particular APIs at work. Most readers will likely find the material on Qt's SQL Module for database programming indispensable. A section on custom controls is also a standout and more advanced readers will learn how to using OpenGL calls in Qt as well as how to interoperate with Perl modules.
The book closes with sections that will benefit the less experienced Qt developer, including how to use Visual C++ 6 to let you build Qt executables, and how to take advantage of Qt's Designer tool to simplify designing forms and components visually.
Right up to date with the latest on Qt from top to bottom, this text really shines with its notably concise and authoritative style that readers will have come to expect from O'Reilly titles. For anyone tackling Qt development, the second edition of Programming Qt is sure to be a necessary addition to your programming bookshelf. --Richard Dragan
1 Very good book
I am new to Linux programming (I'm a .Net developer) and was a bit frustrated with the online tutorials for Qt and decided to give this book a try. I am very happy with the decision, this book is very well written. I like the style of the author, giving us some practical exercises after each topic, so we can improve the application he develops throughout the book (a "paintbrush"). Now that I understood the basics I can use the Qt documentation to do my own apps.
People who like those huge, "step-by-step" ("click File->Quit to exit the application...") books might be a bit disappointed with this one though, the author assumes that the reader knows some C++ and can figure out some stuff by himself/herself, so be warned. Not that he skips any information needed, but he doesn't repeat the same thing 10x either, so you gotta be a bit "smart" to read this book.
2 Great book.
I personally own all three published books on the Qt GUI Toolkit by Trolltech. This one is by far the best of them. It is not a 5 star book, but it will teach you some of the more advanced uses of the Toolkit. It makes for a really great comanion to the Reference guide that comes with the toolkit.
3 A better version of the documentation
One reviewer slams this book because it just rehashes the freely available help files and tutorials. That is not a fair assesment as Matthias does a good job of explaining what he is doing and how. The "free" help pages are pretty terse in this regard.
I can't give it 5 stars however because it doesn't take the time to talk about *how* to get your programs to compile in various environments (I use FreeBSD) and that can leave the reader very unsatisfied. There is enough on-line documentation to figure it out, but some pointers in this book would have really enhanced the experience.
Of course, if you aer using the KDE desktop this book is essential. This combined with the book on KDE is a good set for anyone who wants to develop applications for Linux (or FreeBSD).
4 Not a very good programming book
This is not a very good book on programming QT. It will help you get started and since it is like one of the only books written on QT you are kind of stuck. Once I got the hang of QT I never looked at the book again, though. Get your company to buy it, read it through a bit, and then use the API guide and code examples in your QT distribution. The sections on building QT were the most useful to me (windows platform), but that was about it. Otherwise, I would just read the examples from the distribution...
5 excellent book for learning Qt
I hesitated to buy this after reading the negative reviews here. I am glad I did. It is exactly what I needed. It touches on the necessary basics of C++, event driven programming and covers how to download and install the Qt environment in the first chapter. The second is Hello World, the next few are guided tours of the major widgets, then some 20+ more chapters cover Qt by topic because it is much more than a GUI toolkit. The style is succinct yet easy to absorb. It took me about two days to read through it carefully. In that brief time now I just use the online Qt help for detail info.
6 Handy Programming Help
I find this book is very good. It provides quick help while programming, gives a lot of ideas how to solve problems, and a quick overview how the most common problems have to be dealt with.
But - yes, there is a 'but' - it is definitively not a book about GUI programming, it's about QT! If you are familiar with GUI development, such as java/swing programming or similar, and you are also familiar with C++, this book can be a great help for development.
7 Rewrite of QT Help (Extrimely Disappointing)
This book is little more than a book form of QT help files with several warnings thrown in. Plus most of the book refers back to the manual without describing anything but the most obivious. As soon as the topics get beyond most basic, the author uses the phrase "this is beyon scope of this book", eventhough the topic is exactly programming something practical with QT and its no longer a toy example. Extrimely diappointing book.
I say keep your money and print QT help files, you will know 99% of what you would have learned by reading this book. I was able to read through this book in 1 day, and that was on a busy work day.
8 quite disappointed
similar to the first edition -- very few examples.
it may be a good handbook for experienced users but surely not
suitable for a beginner.
9 No better Qt book (that I know of)
For me personally, this book provides everything I'm looking for to learn Qt: widgets, signals and slots (i.e., event handling), q-make, "moc", multi-threading, Qt-Designer and more. I'm a Java programmer looking for something equally as portable but a bit trimmer and faster; Qt fits the bill nicely. The book is organized, concise and well written, so it does not need to be as thick as an automobile tire and almost as heavy (I abhor those huge books!). One does not need to know Java, but the reader should have at least a passing familiarity with C++ since Qt is not a language, it's a large and useful GUI library written in C++. One minor annoyance with the book is that the author frequently refers to important sections of the sample code by line number, but no numbers are provided with the code.
10 Nothing Better to learn Qt
For me personally, this book has everything I need: it covers Qt's Signals and Slots, widgets, "moc", animation, threading, accessing databases, q-make, Qt-Designer and more. And yet this book is only of medium size, which for me is a perfect fit: I abhor those "bibles" that are as thick as a car tire and almost as heavy! Does anybody ever read those things? Anyway, I'm a Java programmer looking for a language or OO library that's just as portable as Java but that's a bit faster and that I can compile natively so I only have to distribute an executable, not a whole run-time environment. Qt provides that with a lot of the same principles and design concepts. But even without Java experience, this book is very clear and easy to follow, so you'll be coding useful, interesting GUIs very quickly. Of course, you have to know at least a little C++, because Qt is a C++ library, not a language.