Time for action – making CarInfo instantiable from QML
First, we will update the QML document to create an instance of CarInfo present in the CarInfo 1.0 module:
import QtQuick 2.0
import CarInfo 1.0
Image {
source: "dashboard.png"
CarInfo {
id: carData
visible: true // make the widget visible
}
// ...
}As for registering CarInfo, it might be tempting to simply call qmlRegisterType on CarInfo and congratulate ourselves for a job well done:
int main(int argc, char **argv) {
QGuiApplication app(argc, argv);
QQuickView view;
qmlRegisterType<CarInfo>("CarInfo", 1, 0, "CarInfo");
view.setSource(QUrl("qrc://main.qml"));
view.show();
return app.exec();
}In general this would work (yes, it is as simple as that). However, at the time of writing, trying to instantiate any widget in a QML document as the child of some QtQuick item will lead to a crash (maybe at the time you are reading this text the issue will have...