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