Добавьте id
свойство к Rectangle
, и где бы вы ни ссылались на tabName
или tabScreen
, используйте это id
:
Rectangle
{
id: rect
...
property variant tabName: ["tab1","tab2","tab3"]
property variant tabScreen: ["Screen1","Screen2", "Screen3"]
TabBar
{
...
Repeater
{
model: rect.tabName
TabButton
{
text: rect.tabName[index]
}
}
}
StackLayout
{
...
Repeater
{
model: rect.tabScreen
Rectangle
{
...
Text {
id: name
text: rect.tabScreen[index]
anchors.centerIn: parent
}
}
}
}
}
Во-вторых, свойство model
должно быть правильной коллекцией , а не длина коллекции (см. код). Кроме того, для чего нужны функции setTabName
и setTabScreen
? Вам не нужны они, чтобы достичь вашей цели, насколько я понимаю ваш вопрос.