Tour Preview

Find the Best Demos and Examples

Check out this quick tour to find the best demos and examples for you, and to see how the Felgo SDK can help you to develop your next app or game!

Extending QML - Extension Objects Example

Extension Objects.

This example builds on:

Shows how to use qmlRegisterExtendedType() to provide an extension object to a QLineEdit without modifying or subclassing it.

Firstly, the LineEditExtension class is registered with the QML system as an extension of QLineEdit:

    qmlRegisterExtendedType<QLineEdit, LineEditExtension>("People", 1,0, "QLineEdit");

The QML engine then instantiates a QLineEdit:

    QQmlEngine engine;
    QQmlComponent component(&engine, QUrl("qrc:example.qml"));
    QLineEdit *edit = qobject_cast<QLineEdit *>(component.create());

In QML, a property is set on the line edit that only exists in the LineEditExtension class:

QLineEdit {
    leftMargin: 20

The extension type performs calls on the QLineEdit that otherwise will not be accessible to the QML engine.