我是qt和qml中的菜鸟,我的问题是我有一个main.qml,这里我导入了很多组件,其中一个叫做HeaderConcept,在这个组件中我做了一个数学函数,我希望通过这个结果导致其他组件qml,由于各种原因我不能使用别名传递结果,然后我的问题是我是否可以使用javascript将结果传递给其他qml文件,每次我调用HeaderConcept中的数学函数示例从javascript调用qml中的函数,或者最好使用C ++代码。 因为我的组件而不使用别名属性的原因之一是CollapsiblePanel,并且保持在其他组件内部。我接受任何提示或回答。
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
}
这是我在main.qml中的组件声明,我相信问题的一部分是为了Compopeant的代表
答案 0 :(得分:2)
您可以在HeaderConcept组件中声明一个信号,然后在数学函数完成时发出它:
HeaderConcept {
signal mathDone(int result)
...
function math() {
// math part here
mathDone(result)
}
}
在main.qml中导入时:
HeaderConcept {
id: hc
}
SomeOtherComponent {
...
function headerConceptMathHandler(mathResult) {
// your handling code
}
Component.onCompleted: hc.mathDone.connect(headerConceptMathHandler)
}