2015-10-11 12 views
6

ho trovato questo post più vecchi, che affronta lo stesso problema: How to mock a QML componentQML unittest proprietà mancante C++ contesto

Purtroppo, non c'è soluzione. Per ricapitolare il problema: Ho un QML TestCase che importa un modulo. Ma questo modulo si basa su un root context property che normalmente verrebbe aggiunto nello main.cpp. Poiché questo è un TestCase, non ho alcuna influenza su come si avvia QQmlApplicationEngine.

Come posso aggiungere la proprietà di contesto mancante?

risposta

0

È possibile ottenere l'istanza di QQmlEngine passando l'elemento QML sul lato C++, dove è possibile utilizzare il metodo qmlEngine.

Quindi, si sono in grado di impostare proprietà di contesto chiamando

qmlEngine(passedQmlItem)->rootContext()->setContextProperty("propertyName", propertyValue); 
Problemi correlati