2012-11-20 1 views
0

내 응용 프로그램에서 "첫 번째 실행 흐름"을 구현해야하므로이 경우에는 내 QML 장면이 다릅니다. 이 흐름의 마지막으로 정상적인 흐름을 실행해야하므로 루트 객체 컨텐트를 변경해야합니다. 어떻게 이것을 달성해야할지 모르겠다.변경/루트 대체 개체 응용 프로그램

답변

0

잘 내가 내 클래스를 변경하고 추가 한 두 개의 기능

Q_INVOKABLE void firstRun(); 
    Q_INVOKABLE void normalRun(); 

는 구현 : 는 firstrun :

qml->setContextProperty("dateModel" , ModelsFactory::getInstance().weightModel); 
qml->setContextProperty("personModel" , ModelsFactory::getInstance().personModel); 
qml->setContextProperty("Application", this); 

AbstractPane *root = qml->createRootObject<AbstractPane>(); 

app->setScene(root); 

는 normalRun : 당신이 볼 수있는

QmlDocument *qml; 
     qml = QmlDocument::create("asset:///main.qml").parent(this); 
     qml->setContextProperty("Application", this); 
     AbstractPane *root = qml->createRootObject<AbstractPane>(); 
     Application::instance()->setScene(root); 

은 내가 노출 이 ref 예 : qml 및 qml에서 흐름이 완료되면 Application.normalRun()을 호출 할 수 있습니다. 함수 선언에 Q_INVOKEBALE MAKRO를 사용했기 때문에이 작업을 수행 할 수 있습니다. 도움이 되길 바랍니다.