MeeGo 1.2 Harmattan Developer Documentation Develop for the Nokia N9

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.