2013-09-05 5 views
0

나는 qt와 qml의 멍청한 녀석이다. 문제는 내가 main.qml을 가지고있다. 많은 컴포넌트를 가져오고 있는데, 그 중 하나는 HeaderConcept이다.이 컴포넌트에서 나는 수학 함수를 만든다. 나는 이것을 통과시키고 싶다. 결과를 다른 구성 요소 qml, 결과를 패스에 대한 별칭을 사용할 수없는 및 다음 내 질문은 다른 qml 파일에 결과를 전달할 자바 스크립트를 사용할 수있는 경우, 예를 들어 HeaderConcept에서 수학 기능을 invoque 때마다 invoque 자바 스크립트에서 qml 함수를 호출하거나 C++ 코드를 사용하는 것이 가장 좋습니다. 왜 내 구성 요소가 CollapsiblePanel이므로 alias 속성을 사용하지 않는 이유 중 하나는 다른 구성 요소의 내부에 있기 때문입니다. 나는 어떤 팁이나 대답을 받아 들인다. 이 main.qml 구성 요소의 내 선언입니다자바 스크립트에서 qml로 신호를 연결할 수 있습니까?

ComprobantDelegate 
    { 
     id: comprobantCase 

     //property alias totalOfVaucher: comprobant.totalOfVaucher 
     //color: "#939393"; radius: 2; border.width: 1; border.color: "#716f6f" 
    } 

    ListModel { 
     id: displaySettingsComprobant 
     ListElement { } 
    } 


    CollapsiblePanel 
    { 
     id: panelComprobant 
     width: 520 
     height: parent.height 
     titleText: "Datos Comprobante" 
     customModel: displaySettingsComprobant 
     customDelegate: comprobantCase 
    } 

, 내가 문제의 일부가 위임 Comprobant

답변

2

당신은 당신의 HeaderConcept 구성 요소의 신호를 선언 할 수 있습니다위한 보라, 다음 경우 수학 기능을 방출 완료 : 대답, BU에 대한

HeaderConcept { 
    id: hc 
} 

SomeOtherComponent { 
    ... 

    function headerConceptMathHandler(mathResult) { 
     // your handling code 
    } 

    Component.onCompleted: hc.mathDone.connect(headerConceptMathHandler) 
} 
+0

감사 :

HeaderConcept { signal mathDone(int result) ... function math() { // math part here mathDone(result) } } 

이 main.qml에서 가져 오는 경우 마지막으로 나는 변화 디자인을 결정하고 ComprobantDelegate를 넣어서 어떻게 정상적인 객체인지, 그리고 멤버들에게 직접 접근 할 수있다. – APRocha

관련 문제