我想从myFunc()
致电PageA.qml
中的main.qml
(请参阅onClicked
的{{1}}事件)。我尝试了一些属性别名的东西,但到目前为止还没有任何工作。有什么想法吗?
这是我的Button
代码:
PageA.qml
这是我的import QtQuick 2.4
import QtQuick.Controls 1.2
Item {
function myFunc() { /* ... */ }
TextField { id: myText }
}
:
main.qml
答案 0 :(得分:3)
调用PageA
中的函数的问题源于Tab
不从Item
继承,而是从Loader
继承,因此直接函数调用如tabID.function()
1}}是不可能的。您需要item
的{{1}}属性:
Tab
或者,您可以创建别名:
TabView {
Tab {
id: tabA // Give the tab an id
title: "Tab A"
PageA { }
}
// ...
}
Button {
text: "click"
onClicked: callMyFunc()
}
function callMyFunc() {
tabA.item.myFunc() // Call the function myFunc() in PageA
}
但别名或别名或多或少是一种美容选择。