Programming Books C Java PHP Python Learn more Browse Programming Books
C++ GUI Programming with Qt4 (2nd Edition) and over one million other books are available for Amazon Kindle. Learn more
  • List Price: $69.99
  • Save: $46.04 (66%)
Rented from RentU
To Rent, select Shipping State from options above
Due Date: Dec 19, 2014
FREE return shipping at the end of the semester. Access codes and supplements are not guaranteed with rentals.
Used: Good | Details
Sold by RentU
Condition: Used: Good
Comment: Fast shipping from Amazon! Qualifies for Prime Shipping and FREE standard shipping for orders over $35. Overnight, 2 day and International shipping available! Excellent Customer Service.. May not include supplements such as CD, access code or DVD.
Access codes and supplements are not guaranteed with used items.
Add to Cart
  • List Price: $69.99
  • Save: $17.88 (26%)
In Stock.
Ships from and sold by
Gift-wrap available.
Add to Cart
Trade in your item
Get a $14.24
Gift Card.
Have one to sell? Sell on Amazon
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 2 images

C++ GUI Programming with Qt 4 (2nd Edition) (Prentice Hall Open Source Software Development Series) Hardcover – February 14, 2008

ISBN-13: 978-0132354165 ISBN-10: 0132354160 Edition: 2nd

Buy New
Price: $52.11
Price: $23.95
40 New from $41.97 44 Used from $25.31
Rent from Amazon Price New from Used from
"Please retry"
"Please retry"
$41.97 $25.31


Frequently Bought Together

C++ GUI Programming with Qt 4 (2nd Edition) (Prentice Hall Open Source Software Development Series) + Advanced Qt Programming: Creating Great Software with C++ and Qt 4 (Prentice Hall Open Source Software Development Series) + Introduction to Design Patterns in C++ with Qt (2nd Edition) (Prentice Hall Open Source Software Development Series)
Price for all three: $138.01

Buy the selected items together


Shop the new
New! Introducing the, a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Product Details

  • Hardcover: 752 pages
  • Publisher: Prentice Hall; 2 edition (February 14, 2008)
  • Language: English
  • ISBN-10: 0132354160
  • ISBN-13: 978-0132354165
  • Product Dimensions: 1.6 x 7.2 x 9.2 inches
  • Shipping Weight: 2.7 pounds (View shipping rates and policies)
  • Average Customer Review: 3.9 out of 5 stars  See all reviews (44 customer reviews)
  • Amazon Best Sellers Rank: #71,885 in Books (See Top 100 in Books)

Editorial Reviews

About the Author

Jasmin Blanchette is a Trolltech senior software engineer and is writing his M.Sc. thesis in computer science at the University of Oslo.

Mark Summerfield works as an independent trainer and consultant specializing in C++, Qt, Python, and PyQt, and is the author of Rapid GUI Programming with Python and Qt. Blanchette and Summerfield coauthored C++ GUI Programming with Qt 3 and the first edition of C++ GUI Programming with Qt 4.

Excerpt. © Reprinted by permission. All rights reserved.

Qt is a comprehensive C++ application development framework for creating cross-platform GUI applications using a "write once, compile anywhere" approach. Qt lets programmers use a single source tree for applications that will run on Windows 98 to Vista, Mac OS X, Linux, Solaris, HP-UX, and many other versions of Unix with X11. The Qt libraries and tools are also part of Qt/Embedded Linux, a product that provides its own window system on top of embedded Linux.

The purpose of this book is to teach you how to write GUI programs using Qt 4. The book starts with "Hello Qt" and quickly progresses to more advanced topics, such as creating custom widgets and providing drag and drop. The text is complemented by a set of examples that you can download from the book's web site, Appendix A explains how to download and install the software, including a free C++ compiler for those using Windows.

The book is divided into three parts. Part I covers all the fundamental concepts and practices necessary for programming GUI applications using Qt. Knowledge of this part alone is sufficient to write useful GUI applications. Part II covers central Qt topics in greater depth, and Part III provides more specialized and advanced material. You can read the chapters of Parts II and III in any order, but they assume familiarity with the contents of Part I. The book also includes several appendixes, with Appendix B showing how to build Qt applications and Appendix C introducing Qt Jambi, the Java version of Qt.

The first Qt 4 edition of the book built on the Qt 3 edition, although it was completely revised to reflect good idiomatic Qt 4 programming techniques and included new chapters on Qt 4's model/view architecture, the new plugin framework, embedded programming with Qt/Embedded Linux, and a new appendix. This extended and revised second edition has been thoroughly updated to take advantage of features introduced in Qt versions 4.2 and 4.3, and includes new chapters on look and feel customization and application scripting as well as two new appendixes. The original graphics chapter has been split into separate 2D and 3D chapters, which between them now cover the new graphics view classes and QPainter's OpenGL back-end. In addition, much new material has been added to the database, XML, and embedded programming chapters.

This edition, like its predecessors, emphasizes explaining Qt programming and providing realistic examples, rather than simply rehashing or summarizing Qt's extensive online documentation. Because the book teaches solid Qt 4 programming principles and practices, readers will easily be able to learn the new Qt modules that come out in Qt 4.4, Qt 4.5, and later Qt 4.x versions. If you are using one of these later versions, be sure to read the "What's New in Qt 4.x" documents in the reference documentation to get an overview of the new features that are available.

We have written the book with the assumption that you have a basic knowledge of C++, Java, or C#. The code examples use a subset of C++, avoiding many C++ features that are rarely needed when programming Qt. In the few places where a more advanced C++ construct is unavoidable, it is explained as it is used. If you already know Java or C# but have little or no experience with C++, we recommend that you begin by reading Appendix D, which provides sufficient introduction to C++ to be able to use this book. For a more thorough introduction to object-oriented programming in C++, we recommend C++ How to Program by P. J. Deitel and H. M. Deitel (Prentice Hall, 2007), and C++ Primer by Stanley B. Lippman, Jos¿Lajoie, and Barbara E. Moo (Addison-Wesley, 2005).

Qt made its reputation as a cross-platform framework, but thanks to its intuitive and powerful API, many organizations use Qt for single-platform development. Adobe Photoshop Album is just one example of a mass-market Windows application written in Qt. Many sophisticated software systems in vertical markets, such as 3D animation tools, digital film processing, electronic design automation (for chip design), oil and gas exploration, financial services, and medical imaging, are built with Qt. If you are making a living with a successful Windows product written in Qt, you can easily create new markets in the Mac OS X and Linux worlds simply by recompiling.

Qt is available under various licenses. If you want to build commercial applica-tions, you must buy a commercial Qt license from Trolltech; if you want to build open source programs, you can use the open source (GPL) edition. The K Desktop Environment (KDE) and most of the open source applications that go with it are built on Qt.

In addition to Qt's hundreds of classes, there are add-ons that extend Qt's scope and power. Some of these products, like the Qt Solutions components, are avail-able from Trolltech, while others are supplied by other companies and by the open source community; see for a list of available add-ons. Trolltech's developers also have their own web site, Trolltech Labs (, where they put unofficial code that they have written because it is fun, interesting, or useful. Qt has a well-established and thriving user community that uses the qt-interest mailing list; see for details.

If you spot errors in the book, have suggestions for the next edition, or want to give us feedback, we would be delighted to hear from you. You can reach us at The errata will be placed on the book's web site

More About the Authors

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

This book clocks in at over 700 pages and, in my opinion, more than hits the highlights.
Mark S. Kasson
The book is useful for learning QT, containing detailed information for basic and advanced QT programming.
Ion Paun
I guess self-education is like any investment; sometimes you just lose on your investment.
John Bonham

Most Helpful Customer Reviews

27 of 28 people found the following review helpful By Mark S. Kasson on June 23, 2009
Format: Hardcover
This book contains the most thorough coverage of the many functionalities in Qt. The second edition is also the most current of all the books (a fleeting feature, but noteworthy depending on what you want to learn). Its well written and after over 1 year of working with the book I have yet to find any erroneous information of code.

We own all of the Qt books, but we use this one for teaching Qt in our Internship program. The Basic Qt Section starts simple and builds up from individual widgets and signals/slots to dialogs to windows to the full fancy application functionality (menus, toolbars, docking objects, tabs, MDI windows) that Qt makes pretty effortless in a number of ways.
The book covers the very powerful Model-View structure very well. We have also benefitted from the XML, layout and networking chapters. The book has also been of help in dealing with look and feel issues (stylesheets and subclassing QStyle). It also covers a number of fascinating topics that I've read about but just never used professionally, such as plug-ins.

Some criticized its style of covering the development and structure of a small (spreadsheet-type) application. This is actually the most beneficial way to learn how to use the library since you wind up with the ability to see how the pieces interact with each other. Its easy to show how a QAction works; showing how to make it flow through an MDI to the right window, however, is much easier in a whole application context. This book is not a book on computer science (algorithms, etc); its certainly a book on the specifics of how to work with the Qt library and its also a book on application development generally. The downloadable code from InformIT is a nice bonus.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
18 of 19 people found the following review helpful By sublimemm on January 31, 2010
Format: Hardcover
This book is fantastic, probably the best programming book I have ever read. I didn't even know c/c++ when I started reading (Java developer), but lo! and behold, there is an appendix for Java/c# developers to teach them how to use c++. I have read the book cover to cover and had absolutely no problems understanding any of the concepts in the book. I didn't need to reread anything. I am not sure what some of the other reviewers are talking about; maybe it is because I am familiar with Swing and .Net gui development and the concepts are basically the same. The parts in particular about slots and signals mentioned below I felt was done extremely well. I don't know how other programmers learn, but I learn by seeing some code in action then piecing together what it does line by line. If that isn't how you learn, I would get a different book.

This book is organized like this,

brief intro to a topic
code example of topic
line/group of lines by line explanation of code. Here they explain both the big and little pictures, "signals are used for ... and here is how you connect them in the code... here are some reasons to use signals... etc"
brief outro of a topic

I really can't say how perfect this book is, it is perfect. I went from not knowing c++ to writing professional looking apps in a weekend. I am not saying that will be the case for everyone (obviously look at the other guy's review, sounds like he couldn't figure out how to compile his code...). Keep in mind, as I've mentioned I have been programming for years in Swing and .Net, so I would definitely say I had a head start for understanding the concepts which Qt was built on.

P.S. Qt is pronounced "cute".
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
7 of 7 people found the following review helpful By Grue on August 14, 2009
Format: Hardcover Verified Purchase
This book was my first introduction to Qt, and I've been using it for about two weeks now on a project. Other reviewers have argued that it doesn't give enough of a big-picture view. It is true that the book has many pages of annotated source code. I started off thinking the verbosity was daunting, but when I actually tried to start using Qt, I quickly appreciated all the little details in this book and the very complete index (the index is over 50 pages long). The Trolltech website is a good reference for putting everything in one place, but this book is great for stepping through an example in detail.

One caveat: I've used other widget sets (Gtk, Tk) before with other languages, but have no previous experience with Qt, and not much experience with C++ (so I found the "Intro to C++" chapter for Qt programmers a helpful summary).
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
9 of 10 people found the following review helpful By M. Henri De Feraudy on November 20, 2009
Format: Hardcover
If you have never developped GUI applications using object oriented techniques I would reccommend you stay away from this book it jumps into the details too quickly.
Try Foundations of Qt® Development (Expert's Voice in Open Source) instead. Sooner or later, you'll have to have this book, though, to get you to the next level. There seems to be room for yet another book which discusses the organisation of the Qt libraries.
But if you have experience in other frameworks (like .NET) then this can be a very good book. The style is very tight, with plenty of sample code, and you can get many applications going by just following the code and adapting it to your needs. I got my windowing application with menus and toolbars in an evening by just following a chapter in this book.
It is not a reference book, but it is closer to that than the other books I have seen. Still the Qt Reference is good.

I'm surprised that some other reviewer said that Qt is disorganised compared to Java. Maybe it's because I'm thinking of my experiences with Java a long time ago, but I remember thinking that Java Libraries were all over the place. However C++ is a very complicated language, and I guess Java is much easier to get into.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Recent Customer Reviews