Chapter 12: Meta Objects, Properties, and Reflective Programming

This chapter introduces the idea of reflection, the self-examination of an object’s members. Using reflective programming, you can write general-purpose operations that work on classes of varied structures. Using QVariant, a generic value-holder, you can operate on built-in types and other common types in a uniform way.

12.1 QMetaObject—The MetaObject Pattern

A meta object is an object that describes the structure of another object.1

The MetaObject Pattern

QMetaObject is Qt’s implementation of the MetaObject pattern. It provides information about the properties and methods of a QObject. The MetaObject pattern is sometimes known as the Reflection pattern.

A class that has a MetaObject ...

Get Introduction to Design Patterns in C++ with Qt, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.