我正在尝试为旗鱼操作系统编写简单的应用程序,但在与封面的交互方面遇到了麻烦。Cover 是一个简单的 QML 组件,当我的应用程序被隐藏时,它会出现在主屏幕上。有一段代码如何初始化应用程序:
ApplicationWindow
{
Translator {
id: translator
Component.onCompleted: translator.translate("ru")
}
initialPage: Component { Menu { id:pageMenu } }
cover: Component { CoverPage {id: myCoverPage } }
}
CoverPage 是一个 qml 文件,由
import QtQuick 2.0
import Sailfish.Silica 1.0
CoverBackground {
CoverPlaceholder {
id: placeHolder
text: pageMenu.testprop // line 38
Component.onCompleted: {
console.log("Component.onCompleted placeHolder")
}
}
}
问题是我无法从该文件 (CoverPage.qml) 之外的代码的任何部分访问封面页上的任何元素。例如,在这种情况下,我收到了该错误:
[D] onCompleted:11 - Component.onCompleted pageMenu
[D] onCompleted:40 - Component.onCompleted placeHolder
[W] unknown:38 - file:///usr/share/bashReaderOnlyQML/qml/pages/CoverPage.qml:38: ReferenceError: pageMenu is not defined
但是 pageMenu 是在另一个文件中定义的,该文件是从 ApplicationWindow.initialPage 属性加载的,从日志中可以看到成功初始化。我试图在 Github 上找到一些示例,但没有结果