Qt Reference Documentation

# Chapter 7: In Summary

In this tutorial, we've shown the basic steps for creating a QML extension:

- Define new QML types by subclassing QObject and registering them with qmlRegisterType()
- Add callable methods using Q_INVOKABLE or Qt slots, and connect to Qt signals with an `onSignal` syntax
- Add property bindings by defining NOTIFY signals
- Define custom property types if the built-in types are not sufficient
- Define list property types using QDeclarativeListProperty
- Create a plugin library by defining a Qt plugin and writing a `qmldir` file

The Extending QML Functionalities using C++ reference documentation shows other useful features that can be added to QML extensions. For example, we could use default properties to allow slices to be added without using the `slices` property:

     PieChart {
         PieSlice { ... }
         PieSlice { ... }
         PieSlice { ... }
     }

Or randomly add and remove slices from time to time using property value sources:

     PieChart {
         PieSliceRandomizer on slices {}
     }

See the Extending QML Functionalities using C++ reference documentation for more information.