次のような QML ファイルがあるとします。
Window {
Component.onCompleted: rect.color ="green"
TabView {
Tab {
Rectangle {
id: rect
color: "white"
}
}
}
}
このコードを実行すると、何らかの理由で次のエラーが表示されます。
ReferenceError: rect が定義されていません
スコープの問題だと誰かが言うかもしれませんが、次のコードは正常に動作します:
Window {
Component.onCompleted: rect.color ="green"
Item {
Item {
Rectangle {
id: rect
color: "white"
}
}
}
}
私の場合、内部にタブとコントロールを含む大きなフォームがあり、フォームを検証するためにすべてのコントロールをいくつかの関数に渡します。つまり、次のようなコードです。
function onClose() {
validate(control1);
validate(control2);
// etc
}
しかし、コントロールにアクセスしてid
いるときに上記のエラーが発生します。