#qt #qml
#qt #qml
Вопрос:
Итак, допустим, у меня есть следующие два файла qml:
main.qml:
Window {
/* ... */
onSomething: mybutton.text = "foo"
Foo {}
}
Foo.qml:
Item {
/* ... */
Button {
id: mybutton
/* ... */
}
}
При onSomething
вызове он будет генерировать ошибку времени выполнения:
ReferenceError: mybutton is not defined
Как правильно ссылаться на mybutton
кнопку mail.qml
? Или как еще я могу это организовать?
( ids
Область действия файла ограничена?)
Ответ №1:
Вы должны создать псевдоним для своего объекта, который должен быть доступен, как показано ниже
Foo.qml
Item {
property alias buttonText: mybutton.text
/* ... */
Button {
id: mybutton
/* ... */
}
}
затем используйте его в вашем main.qml
main.qml
Window {
/* ... */
onSomething: myfoo.buttonText = "foo"
Foo
{
id: myfoo
}
}
Также вы можете создать псевдоним для своего объекта Button и использовать его. Как вы догадываетесь, идентификаторы ограничены, и вы должны сделать их доступными.