2013-12-16 2 views
4

QML에서 Qt QQuickItem 클래스를 서브 클래스 화하여 무대 뒤에서 많은 C++ 로직을 제공하고자합니다. 그러나 QML은 인스턴스를 생성하고 C++ 측이 아니기 때문에이 새로운 객체와 시스템의 다른 C++ 객체 사이에 포인터 또는 연결을 전달하는 방법 (가능한 경우)을 알 수 없습니다. 이것이 가능한가?QQuickItem 포인터의 서브 클래스를 다른 C++ 객체에 부여

+0

'개체 이름별로로드 된 QML 개체 액세스 중'과 같은 내용 [여기 http://qt-project.org/doc/qt-5.0/qtqml/qtqml-cppintegration-interactqmlfromcpp.html](http://qt-project .org/doc/qt-5.0/qtqml/qtqml-cppintegration-interactqmlfromcpp.html)? –

답변

0

임의의 QObject를 가져 오는 main.cpp에 글로벌 QML 개체를 등록 할 수 있습니다.

이제 brain을 QML로 사용할 수 있습니다. 당신은이 VisibleComponent에서 Q_INVOKABLE void setLogic(Brain* brain);을 필요로 예를

VisibleComponent { 
    id: vico1 
    width: 300 
    height: 300 

    Component.onCompleted: { 
     vico1.setLogic(brain) 
    } 
} 

를 들어, 사용자 정의 구성 요소에 전달할 수 있습니다.

이 코드의 예제 프로젝트가 있는데, 필요한 경우 알려주십시오.

+0

가능합니다. 감사합니다. – johnbakers