Master C++ “The Qt Way” with Modern Design Patterns and Efficient Reuse
This fully updated, classroom-tested book teaches C++ “The Qt Way,” emphasizing design patterns and efficient reuse. Readers will master both the C++ language and Qt libraries, as they learn to develop maintainable software with well-defined code layers and simple, reusable classes and functions.
Every chapter of this edition has been improved with new content, better organization, or both. Readers will find extensively revised coverage of QObjects, Reflection, Widgets, Main Windows, Models and Views, Databases, Multi-Threaded Programming, and Reflection. This edition introduces the powerful new Qt Creator IDE; presents new multimedia APIs; and offers extended coverage of Qt Designer and C++ Integration. It has been
restructured to help readers start writing software immediately and write robust, effective software sooner.
The authors introduce several new design patterns, add many quiz questions and labs, and present more efficient solutions relying on new Qt features and best practices. They also provide an up-to-date C++ reference section and a complete application case study.
- Master C++ keywords, literals, identifiers, declarations, types, and type conversions.
- Understand classes and objects, organize them, and describe their interrelationships.
- Learn consistent programming style and naming rules.
- Use lists, functions, and other essential techniques.
- Define inheritance relationships to share code and promote reuse.
- Learn how code libraries are designed, built, and reused.
- Work with QObject, the base class underlying much of Qt.
- Build graphical user interfaces with Qt widgets.
- Use templates to write generic functions and classes.
- Master advanced reflective programming techniques.
- Use the Model-View framework to cleanly separate data and GUI classes.
- Validate input using regular expressions and other techniques.
- Parse XML data with SAX, DOM, and QXmlStreamReader.
- Master today’s most valuable creational and structural design patterns.
- Create, use, monitor, and debug processes and threads.
- Access databases with Qt’s SQL classes.
- Manage memory reliably and efficiently.
- Understand how to effectively manage QThreads and use QtConcurrent algorithms.
Table of Contents
Part I: Design Patterns and Qt 4
Chapter 1: C++ Introduction
Chapter 2: Top of the class
Chapter 3: Introduction to Qt
Chapter 4: Lists
Chapter 5: Functions
Chapter 6: Inheritance and Polymorphism
Chapter 7: Libraries and Design Patterns
Chapter 8: QObject, QApplication, Signals, and Slots
Chapter 9: Widgets and Designer
Chapter 10: Main Windows and Actions
Chapter 11: Generics and Containers
Chapter 12: Meta Objects, Properties, and Reflective Programming
Chapter 13: Models and Views
Chapter 14: Validation and Regular Expressions
Chapter 15: Parsing XML
Chapter 16: More Design Patterns
Chapter 17: Concurrency
Chapter 18: Database Programming
Part II: C++ Language Reference
Chapter 19: Types and Expressions
Chapter 20: Scope and Storage Class
Chapter 21: Memory Access
Chapter 22: Inheritance in Detail
Part III: Programming Assignments
Chapter 23: MP3 Jukebox Assignments
Appendix A: C++ Reserved Keywords
Appendix B: Standard Headers
Appendix C: Development Tools
Appendix D: Alan’s Quick Start Guide to Debian for Programmers
Appendix E: C++/Qt Setup