是否可以将信号从javascript连接到qml?
我在qt和qml中是noob,我的问题是我有一个main.qml,这里我导入了许多组件,其中一个叫做HeaderConcept,在这个组件中我做了一个数学函数,我想把这个结果传递给另一个组件qml,由于各种原因我不能使用别名来传递结果,然后我的问题是,如果我可以使用JavaScript将结果传递给其他QML文件,每当我调用HealEdEnter中的数学函数时,例如从JavaScript中调用QML中的函数,或者最好的方法是使用C++代码。 之所以不使用alias属性,其中一个原因是因为我的组件是可折叠面板,并且位于其他组件的内部。我接受任何提示或回答是否可以将信号从javascript连接到qml?,javascript,qml,Javascript,Qml,我在qt和qml中是noob,我的问题是我有一个main.qml,这里我导入了许多组件,其中一个叫做HeaderConcept,在这个组件中我做了一个数学函数,我想把这个结果传递给另一个组件qml,由于各种原因我不能使用别名来传递结果,然后我的问题是,如果我可以使用JavaScript将结果传递给其他QML文件,每当我调用HealEdEnter中的数学函数时,例如从JavaScript中调用QML中的函数,或者最好的方法是使用C++代码。 之所以不使用alias属性,其中一个原因是因为我的组件是
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中对组件的声明,我相信问题的一部分是针对Comprobant的委托的您可以在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)
}
谢谢你的回答,但最后我决定改变设计,让ComprobantDelegate成为一个普通的对象,这样我就可以直接为他们的成员获取访问权限