QML遍历查询子元素


这里要查询一个一个Repeater中嵌套的一个Repeater的Image中的图片是什么. 从而进行属性操作. 要注意的就是普通控件获取children后, 用[]下标即可操作子元素, Repeater要用itemAt函数操作子元素.

for(var i = 0; i < items; ++i)
{
    console.log("lineRep["+ i + "] id =      ", lineRep.itemAt(i))      //打印出子控件的类型
    var childItems = lineRep.itemAt(i).children
    console.log("   childitems count : " + childItems.length)
    //第二段是我需要的, 所以这里没有遍历, 直接设置j = 1的. 
    var j = 1
    console.log("   childItems["+ j + "] id =      ", childItems[j])      //打印出子控件的类型
    var grandChidlItems = childItems[j].children
    var childRepC = grandChidlItems[2].count
    console.log("       childRep count = " + childRepC)
    for(var k = 0; k < childRepC; ++k)
    {
        console.log("       childRepson[" + k + "] id = ", grandChidlItems[2].itemAt(k))      //打印出子控件的类型
        var childRepSons = grandChidlItems[2].itemAt(k).children
        console.log("           childRepSons count = ", childRepSons.length)
        for(var l in childRepSons)
        {
            console.log("           childRepSons["+ l + "] id =      ", childRepSons[l])      //打印出子控件的类型
            console.log("               childRepSonsSon[" + l + "] source = ", childRepSons[l].source)      //达到目标, 获取到了图片的名称.
        }
    }
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM