2013-08-22 4 views
1

지금 사용자 지정 QML을 사용하여 dataModel을로드하는 ListView를 만들려고합니다. 여기에 내 코드의 조각이다 :실행시 ListItemComponents에 액세스

ListView { 
      id: firstPageListView 
      visible: false 
      dataModel: firstPageDataModel 

      layout: GridListLayout { 
       columnCount: 1 
       cellAspectRatio: 2.0 
       headerMode: ListHeaderMode.Standard 
       verticalCellSpacing: 10 
      } 

      listItemComponents: [ 

       ListItemComponent { 
        //custom qml that will be used 
        ThumbNote { 
         title: ListItemData.title 
         text: ListItemData.text 
         imageSource: ListItemData.image 
         listmode: true //list mode 
         date: ListItemData.date 

        } 
       } 
      ] 

     } 

내가 false에 각 구성 요소의 listmode 속성을 변경하는 버튼을 만들려고합니다. 이렇게하면 객체가 ThumbNote QML의 onListModeChanged()에서 설정 한 함수를 호출합니다.

불쌍한 영어로 죄송합니다. 도움을 받으실 수 있습니다. :)

답변

3

아마도 ListView에 속성을 추가하고 ThumbNotes 속성을이 속성에 바인딩하는 것이 좋습니다.

예컨대 :

ListView { 
     id: firstPageListView 
     visible: true 
     dataModel: firstPageDataModel 

     property bool listMode: true 
     ... 
     listItemComponents: [ 

      ListItemComponent { 
       //custom qml that will be used 
       ThumbNote { 
        title: ListItemData.title 
        text: ListItemData.text 
        imageSource: ListItemData.image 
        listmode: firstPageListView.listMode 
        date: ListItemData.date 

       } 
      } 
     ] 

} 
Button { 
    onClicked: { 
     firstPageListView.listMode = false; 
    } 
}