저는 현재 일부 크로스 플랫폼 개발을 위해 Qt를 배우는 중이며 QML을 사용하여 모든 것을하려고합니다. C++을 사용하여 문제를 해결할 수있는 방법이 많이 있다는 것을 알고 있지만 모델에 충실하고 QML을 사용하고 싶습니다.QML : 신호를 통해 조부모님과 의사 소통하기
여기 있습니다 : 다음 코드 에서처럼 qml 파일을 표시하기 위해 로더를 사용하는 경우 secondPage.qml에서 main.qml과 통신하는 방법은 무엇입니까?
신호를 통해 전달하는 것으로 가정했으나, 추가 판독시에는 신호의 모든 동작이 전송 된 클래스 내에있는 것 같습니다 (연결된 메서드 사용). 여기에 내 리소스가 있습니다 : http://qt-project.org/doc/qt-4.8/qmlevents.html#connecting-signals-to-methods-and-signals
또는 QML 응용 프로그램에 대한 잘못된 디자인 일 수 있습니다. 나는 ... 일이 너무 걷잡을 전에 하나의 소스 파일을 사용에서 탈피하기 위해 노력하고있어
main.qml : secondPage.qml
에서
Rectangle {
id: background
...
Item{
id: item1
Loader {
....
id:pageLoader;
source : "secondPage.qml"
focus:true;
}
}
한숨 ... 문제를 명확히하기 위해 텍스트를 다시 쓰고 제목을 수정하지 않았습니다. 배경 요소에 직접 액세스 할 수있는'secondPage.qml'에 "great grandparents"의 누락 사용에 대한 사과 ( – benrules2
@berules). 또 다른 가능성은'secondPage' 컴포넌트에 시그널을 선언하고,이 컴포넌트의 시그널을'Loader'의'onLoaded' 핸들러에있는 조부모의 시그널에 연결하는 것입니다. – koopajah
예! 네가 옳아! 어떻게 든 secondPage.qml이 다른 버그 이후에 부모에 액세스 할 수 없다는 확신을 갖게되었지만, 그렇지 않습니다. 대단히 고마워.이 답안을 제출하면 받아 들일 것입니다. – benrules2