此范例构建于:
Shows how to use qmlRegisterExtendedType() to provide an extension object 到 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.
文件: