2011-11-23 28 views

Respuesta

0

Puede usar la propiedad ListView currentItem o currentIndex para resaltar el elemento recién agregado o cualquier elemento que desee resaltar.

+0

No quiero destacar. Quiero insertar nuevos elementos sobre el elemento actual sin ningún desplazamiento. –

0

En realidad, la función insert hizo el trabajo. Puede insertarlo en la parte superior o en cualquier posición deseada como esta modelName.insert(0,{object});. Un ejemplo de trabajo está aquí.

import QtQuick 1.0 

Rectangle { 
    id: rectangle1 
    width: 320 
    height: 480 

    ListModel { 
     id: cModel 
     ListElement { 
      name: "Bill Smith" 
      number: "555 3264" 
     } 
     ListElement { 
      name: "John Brown" 
      number: "555 8426" 
     } 
     ListElement { 
      name: "Sam Wise" 
      number: "555 0473" 
     } 
    } 
    ListView { 
     id: list_view1 
     width: rectangle1.width 
     height: rectangle1.height - 40 
     anchors.horizontalCenter: parent.horizontalCenter 
     delegate: Text { 
      text: name + ": " + number 
     } 
     model: cModel 
    } 

    Rectangle { 
      id: rectangle2 
      width: 320 
      height: 40 
      color: "#ffffff" 
      anchors.top: list_view1.bottom 

      Text { 
       id: text1 
       text: qsTr("Click to add!") 
       anchors.horizontalCenter: parent.horizontalCenter 
       anchors.verticalCenter: parent.verticalCenter 
       font.pixelSize: 16 
       MouseArea { 
        id: mouse_area1 
        anchors.fill: parent 
        onClicked: addNewItemTop(); 
       } 
      } 
     } 

    function addNewItemTop() 
    { var i = Math.random(); 
     cModel.insert(0,{"name" : "New Number", "number":i.toString()}); 
    } 
    } 
Cuestiones relacionadas