Programming with Qt
offers an excellent introduction to the Qt toolkit, a powerful C++ graphical user interface (GUI) library that allows developers to create interfaces that run under both Unix and Windows. The book first looks at the strengths of the Qt library: it provides excellent cross-platform support, good performance, and ease of use for the C++ programmer.
After a basic application, the book moves onto the event model in Qt, which uses signals and slots to attach events to code. The author demonstrates that Qt is a remarkably sophisticated user interface library. Early sections examine programming menus, including pop-up menus, basic widgets, or controls (such as labels and listboxes), and more complex controls (such as sliders, progress bars, listviews, and tables).
Next the book presents material on Qt's built-in dialogs (for message boxes and opening and saving files) and layout managers. The author investigates Qt's container classes (such as arrays and dictionaries) and offers a lot of material on 2-D graphics, including printing, saving, and loading images.
Later chapters look at validating text and working with files and directories, with tips on important topics such as focus handling, internationalization, portability, and debugging. (The author even shows you how to work with Qt in Perl and reviews several Qt GUI builders that help automate design.)
Filled with expert advice and sample code, this guide makes a strong case that both Unix and Windows developers should try out Qt. --Richard Dragan
Read the full review
for this book.
One area the author focuses on throughout the book, and to good effect, is Qt's use of signals and slots. (These are not traditional UNIX IPC signals, but a variation unique to Qt.) This is the technology that notifies specific parts of a program when UI events happen, such as users clicking on a button or an item in a listbox. Every application framework has its own way of performing this "plumbing," and understanding it well enough to get notifications in the right places, forward them effectively, and so on, is critical to using the framework. Dalheimer clearly appreciates this fact, and doesn't just talk about Qt's signals and slots once and then move on, but returns to the topic several times in different contexts. --Lou Grinzo, Dr. Dobb's Electronic Review of Computer Books -- Dr. Dobb's Electronic Review of Computer Books