qml no puede modificar el texto de control del encabezado de la vista de lista

Por ejemplo, si establece una casilla de verificación en el encabezado de la vista de lista y luego desea modificar dinámicamente el texto de la casilla de verificación en otros controles, modificarlo a través del ID no es válido porque está en el encabezado y no está definido para otros controles. control S. Esto se puede resolver usando una propiedad externa:

Window {
    
    
    width: 400
    height: 400
    visible: true


    property int title: 1
    property string name: qsTr("1")

    ListView{
    
    
        id: view
        width: parent.width
        height: parent.height - 50
        header: Item{
    
    
            width: parent.width
            height: 30

            CheckBox{
    
    
                id:checkall
                text: name
            }
        }
    }

    Button{
    
    
        width: 60
        height: 20
        anchors.top: view.bottom;
        text: qsTr("切换")
        onClicked: {
    
    
           title += 1
            if(title > 4)
                title = 1
            if(title==1)
                name = qsTr("1")
            else if(title==2)
                name = qsTr("2")
            else if(title==3)
                name = qsTr("3")
            else if(title==4)
                name = qsTr("4")
        }
    }
}

Supongo que te gusta

Origin blog.csdn.net/bangtanhui/article/details/133251184
Recomendado
Clasificación