C++ GUI Programming with Qt 3
This title is no longer available.
This title cannot be purchased online
Appropriate for all courses in Qt or KDE programming.
C++ GUI Programming with Qt 3 is the first official TrollTech guide to Qt 3.x programming. In this book, two TrollTech insiders provide students all they need to build industrial-strength applications with Qt 3.x and C++: applications that can run natively on Windows, Linux/Unix, Solaris, Mac OS X, and embedded Linux with no source code changes. The book teaches through example, and covers every facet of Qt 3 programming, ranging from basic user interfaces and layout managers to 2D/3D graphics, drag-and-drop, signaling, networking, XML, database integration, even internationalization and multithreading. The coverage will be appropriate for students at all levels of Qt expertise; students planning to build either open source or commercial applications; and students who wish to develop for Windows without purchasing an expensive compiler. C++ GUI Programming with Qt 3 is part of Bruce Perens Open Source Series, edited by Bruce Perens, one of the worlds leading authorities on open source technologies.
"...not only the best book on Qt I have ever seen, but also the best book presenting any programming framework. Every sentence appears to be carefully worded, and every chapter has a sound concept, and so does the work as a whole." --Matthias Ettrich, Trolltech's lead developer, founder of the KDE project
"The 'Tao of Qt'.... The Qt system is a beautiful example of object oriented design, and the authors take advantage of this.... The authors have done an excellent job of presenting the subject in an interesting and engaging way...." --Ron McCarty, Instructor and Chair of the Department of Computer Science, Penn State Erie, The Behrend College
The first official Trolltech guide to Qt 3.2 programming!
Straight from Trolltech, this book covers all you need to build industrial-strength applications with Qt 3.2.x and C++--applications that run natively on Windows, Linux/Unix, Mac OS X, and embedded Linux with no source code changes! The book teaches solid Qt programming practices; it is not a rehash of the documentation.
- Build powerful C++ GUI applications quickly and easily
- Design dialogs and main windows visually and in code
- Learn Qt's innovative typesafe signals and slots mechanism
- Use layouts to create forms that automatically size and scale
- Create custom signals, slots, events, and controls
- Program the ''Qt way'' with techniques for Qt 3.2 that'll work with Qt 4
- Code applications with menus, toolbars, dialogs, and drag and drop
- Utilize 2D and 3D graphics, multithreading, and networking
- Write database and XML applications
- Internationalize to reach foreign markets
- Exploit platform-specific-features like ActiveX
Already using Qt or just starting out? Evaluating Qt or managing it? Building open source applications--or commercial applications? Want to develop for Windows without buying an expensive compiler? Whatever your goal, this is the only book you need!
A Brief History of Qt.
I. BASIC QT.1. Getting Started.
Hello Qt. Making Connections. Using the Reference Documentation. 2. Creating Dialogs.
Subclassing QDialog. Signals and Slots in Depth. Rapid Dialog Design. Shape-Changing Dialogs. Dynamic Dialogs. Built-inWidget and Dialog Classes. 3. Creating Main Windows.
Subclassing QMainWindow. Creating Menus and Toolbars. Implementing the File Menu. Setting Up the Status Bar. Using Dialogs. Settings. Multiple Documents. Splash Screens. 4. Implementing Application Functionality.
The CentralWidget. Subclassing QTable. Loading and Saving. Implementing the Edit Menu. Implementing the Other Menus. Subclassing QTableItem. 5. Creating Custom Widgets.
Customizing Qt Widgets. Subclassing QWidget. Integrating CustomWidgets with Qt Designer. Double Buffering.
II. INTERMEDIATE QT.6. Layout Management.
Basic Layouts. Splitters. Widget Stacks. Scroll Views. Dock Windows. Multiple Document Interface. 7. Event Processing.
Reimplementing Event Handlers. Installing Event Filters. Staying Responsive During Intensive Processing. 8. 2D and 3D Graphics.
Painting with QPainter. Graphics with QCanvas. Printing. Graphics with OpenGL. 9. Drag and Drop.
Enabling Drag and Drop. Supporting Custom Drag Types. Advanced Clipboard Handling. 10. Input/Output.
Reading and Writing Binary Data. Reading and Writing Text. Handling Files and Directories. Inter-Process Communication. 11. Container Classes.
Vectors. Lists. Maps. Pointer-Based Containers. QString and QVariant. 12. Databases.
Connecting and Querying. Presenting Data in Tabular Form. Creating Data-Aware Forms. 13. Networking.
Using QFtp. Using QHttp. TCP Networking with QSocket. UDP Networking with QSocketDevice. 14. XML.
Reading XML with SAX. Reading XML with DOM. Writing XML. 15. Internationalization.
Working with Unicode. Making Applications Translation-Aware. Dynamic Language Switching. Translating Applications. 16. Providing Online Help.
Tooltips, Status Tips, and "What's This?" Help. Using QTextBrowser as a Simple Help Engine. Using Qt Assistant for Powerful Online Help. 17. Multithreading.
Working with Threads. Communicating with the GUI Thread. Using Qt's Classes in Non-GUI Threads. 18. Platform-Specific Features.
Interfacing with Native APIs. Using ActiveX. Session Management. Appendices.
A: Installing Qt.
A Note on Licensing. Installing Qt/Windows. Installing Qt/Mac. Installing Qt/X11. B: Qt's Class Hierarchy.
- Comprehensive coverage of Qt programming—The first book to provide systematic, insider-level coverage of programming with the latest and most sophisticated version of the Qt toolkit: Qt3.
Prepares students for any responsibility or challenge, either as part of an application development team or as the sole developer of a new Qt application.
- Incremental, step-by-step coverage—Starts with “Hello Qt,” and incrementally moves on to more advanced topics such as custom widgets and drag-and-drop.
Helps students gradually gain confidence as they build on what theyve already learned.
- QT signals and slots mechanisms—Thoroughly explains Qts innovative “signals and slots” mechanism for inter-object communication.
Enables students to master Qt features that make GUI programming far simpler and more reliable.
- Best practice “idiomatic” programming techniques—Provides real-world insight, not just a rehash or summary of the online documentation.
Gives students unsurpassed insight into the high-efficiency techniques the worlds best Qt programmers depend on.
- Extensive enterprise-oriented coverage—Covers Qt 3 database development, networking, XML, internationalization, and other advanced topics.
Will help students succeed even in leading-edge Qt development projects.
- By insiders at Trolltech, creators of Qt—Authored by experts who actually develop and document Qt for Trolltech.
Gives students confidence that they are receiving information that is thorough, accurate, clear, and useful—and reflects the challenges they will actually face.
Jasmin Blanchette, Trolltech's documentation manager and a senior developer, has worked at Trolltech since 2001. He is editor of Qt Quarterly, Trolltech's technical newsletter, and coauthored C++ GUI Programming with Qt 3.
Mark Summerfield works as an independent trainer and consultant specializing in C++, Qt, and Python. He was Trolltech's documentation manager for almost three years and coauthored C++ GUI Programming with Qt 3.