IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Extending QML - Extension Objects Example

Extension Objects.

Article lu   fois.

L'auteur

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

Extending QML - Extension Objects Example

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:

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

The QML engine then instantiates a QLineEdit:

 
Sélectionnez
    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:

 
Sélectionnez
QLineEdit {
    leftMargin: 20
}

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

Example project

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+