Melhor maneira de expor seletivamente a lógica principal do C ++ à QML

Eu gostaria de definir uma propriedade de contexto de um componente QML específico em vez de no contexto raiz. Eu não quero a propriedade acessível fora do componente. Existe uma maneira do C ++ acessar o contexto do Componente para permitir apenas que a propriedade nomeada seja acessível no contexto do componente e não no espaço de nomes global? Gostaria de manter o QML declarativo e não criar o componente em C ++ para acessar seu contexto.

//main.qml
Item {
    Button {
        // this should NOT work
        text: ctxProp.text
     }
     OtherQml {
     }
}

//OtherQml.qml
Item {
    Button {
        // this should work
        text: ctxProp.text
    }
}

//main.cpp
QGuiApplication app(art, argv);
QQmlQpplicationEngine engine;

// Some QObject Type
CtxProp ctxProp;
// I'd like to set the context such that only OtherQml.qml can access
// this context propery. Setting in root context property makes it global
engine.rootContext()->setContextProperty("ctxProp", &ctxProp);

questionAnswers(1)

yourAnswerToTheQuestion