QML TabView:获取特定选项卡的 tabIndex

QML TabView: Get tabIndex for a specific tab

有没有办法通过使用标题或 ID 字段从 tabview 中获取特定选项卡的索引? 类似于:tabviewComponent.indexOf(redTab)

TabView {
     id: tabviewComponent
     Tab {
        id: redTab
        title: "Red"
     }
     Tab {
         id: blueTab
         title: "Blue"
     }
     Tab {
         id: greenTab
         title: "Green"
     }
 }

默认情况下没有这样的函数,但您可以通过迭代创建该函数:

TabView {
    id: tabviewComponent
    Tab {
        id: redTab
        title: "Red"
    }
    Tab {
        id: blueTab
        title: "Blue"
    }
    Tab {
        id: greenTab
        title: "Green"
    }

    function indexOf_by_id(id){
        for(var i=0; i < count; i++){
            if(id === getTab(i))
                return i
        }
        return -1
    }

    function indexOf_by_title(title){
        for(var i=0; i < count; i++){
            if(title === getTab(i).title)
                return i
        }
        return -1
    }
}

使用:

tabviewComponent.indexOf_by_id(redTab)
tabviewComponent.indexOf_by_title("Green")