Есть main файл вида:
int main(int argc, char *argv[])
{
    QGuiApplication app(argc, argv);
    qmlRegisterType<A>("test.test.A", 1, 0, "A");
    qmlRegisterType<B>("test.test.A", 1, 0, "B");
    qmlRegisterType<C>("test.test.A", 1, 0, "C");
    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral("qrc:/qml/desktop/main.qml")));
    return app.exec();
}
Класс А унаследован от QObject. Классы B и C - QQuickPaintedItem. Собственно загвоздка в том, что данные для отображения в B и C должны браться из класса A. Создать А в В и С нельзя, так как экземплар класса А должен быть один - работает с неким физическим устройством. Собственно как разрулить данную ситуацию?