我正在尝试重现这个例子这里其中标题页.qml组件创建两个标题文字即使标题文字类型位于单独的文件中(在“组件实例层次结构”部分下)。在 Ubuntu SDK 中,我创建了一个新项目(带有 C++ 插件 (qmake) 的 QML App)。我的主文件.qml看起来像这样:
import QtQuick 2.4
import Ubuntu.Components 1.2
import ScopeTesting 1.0
MainView {
objectName: "mainView"
applicationName: "scopetesting.username"
width: units.gu(100)
height: units.gu(75)
Item {
property string title
TitleText {
size: 22
anchors.top: parent.top
}
TitleText {
size: 18
anchors.bottom: parent.bottom
}
}
}
这标题文本.qml看起来像这个例子:
import QtQuick 2.4
import Ubuntu.Components 1.2
import ScopeTesting 1.0
Text {
property int size
text: "<b>" + title + "</b>"
font.pixelSize: size
}
我得到的是 ReferenceError:
...TitleText.qml:7:ReferenceError:标题未定义
我这里遗漏了什么?有人可以帮忙吗?
答案1
对象不能直接使用其他对象的属性,除非它们属于文件的根对象。
移动property string title
到MainView
或者赋予一个id,并通过idItem
使用。title