2016-04-14 13 views
1

私は、リストを保持するリストビューを持っています。私の要素はテキストとイメージです。テキストは素材名を保持し、画像は削除ボタンです。追加ボタンをクリックすると、私は要素をリストビューに追加したい。次に、削除ボタンをクリックすると、リストビューからレコードを削除したいと思います。QMLでListViewを手動で入力する方法は?

どうすればいいですか?

答えて

1

あなたのコードにListModelがあるとします。 ListModelには、項目を挿入したり削除したりするために、methodsがあります。

ListElementには、テキストと画像の削除が記載されています。ですから、次のコードのようなものがあると思います。ここには、要素の追加と削除の例があります。

import QtQuick 2.5 
import QtQuick.Window 2.2 
import QtQuick.Controls 1.4 

Window { 
    visible: true 
    width: 500 
    height: 500 

    Rectangle { 
     width: 250 
     height: 400 


     Component { 
      id: listDelegate 

      Item { 
       width: 250; height: 50 

       Row { 
        Column { 
         width: 200 
         Text { text: 'mytext: ' + mytext } 
        } 
        Column { 
         width: 50 
         Image { 
          id: deleteButton 
          source: "delete.jpg" 
          MouseArea { 
           anchors.fill: parent; 

           onClicked:{ 
            console.debug("clicked:"+ index); 
            listModel.remove(index); 
           } 
          } 
         } 
        } 
       } 
      } 
     } 

     ListModel { 
      id: listModel 

      ListElement { 
       mytext: "AAA" 
      } 
      ListElement { 
       mytext: "BBB" 
      } 
     } 

     ListView { 
      id: listView 
      anchors.fill: parent 
      model: listModel 
      delegate: listDelegate 
      focus: true 
     } 
    } 

    Button { 
     y: 450 
     text: "add" 

     onClicked: { 
      listModel.append({"mytext": "XXX"}) 
     } 
    } 
} 
関連する問題