Невозможно получить доступ к элементам контейнера
У меня есть объект QML следующим образом:
// File: ControlView.qml
Rectangle {
id: view
property bool darkBackground: false
Text {
id: textSingleton
}
SoundEffect {
id: playCalSound
source: "qrc:/sound/calender_time_camera.wav"
}
}
У меня есть еще один элемент управления, и моя проблема в том, что я не могу получить доступ к playCalSound
или же textSingleton
элементы.
// File: MyControl.qml
ControlView {
....
playCalSound.play() // playCalSound is not defined
textSingleton.font.pixelSize // textSingleton is not defined
view.textSingleton // view is not defined
}
1 ответ
Решение
Вы должны определить свойства для объектов, которые вы хотите использовать вне файла. Попробуй это
Rectangle {
id: view
property bool darkBackground: false
property var effect: playCalSound
property alias singletext: textSingletone.text
Text {
id: textSingleton
}
SoundEffect {
id: playCalSound
source: "qrc:/sound/calender_time_camera.wav"
}
}
..............
ControlView {
....
Component.onComplited: effect.play()
singletext: 'some text'
}