2017-05-21 5 views
0

Hellow、ツリービューでdelegateItemのcurrentIndexを取得する方法

Columndelegateを使用している場合、ユーザーがdelegateItemをクリックした場合、どのように私が選択したCellまたはのインデックスを知っているだろうか?

ここは例です。二ColumnMouseAreaであると私は、ユーザーがMouseAreaをクリックしたときcurrentIndexexpandたい:@mcchuする

TreeView { 
    id: view 
    TableViewColumn { 
     title: "Name" 
     role: "fileName" 
     width: 300 
    } 
    TableViewColumn { 
     title: "Permissions" 
     role: "filePermissions" 
     width: 100 
     delegate : MouseArea { 
      id:mous 
      onClicked { 
       //get indexMouseArea 
       view.expand(indexMouseArea) 
      } 
     } 
    } 
    model: fileSystemModel 

    onExpanded { 
     console.log("expanded :" + index) 
    } 
} 
+2

[ 'styleData.index'](https://doc.qt.io/qt-5/qml -qtquick-controls-treeview.html#itemDelegate-prop)はデリゲートで利用できます。たとえば、次のようにします。 'onClicked:{view.expand(styleData.index); } '。 – mcchu

答えて

0

ソリューションのおかげ:

Hellowを

列にデリゲートを使用する場合は、ユーザーがdelegateItemをクリックしたときに選択されたセルまたは行のインデックスを知る方法はありますか?

ここは例です。 2番目の列はMouseAreaであり、ユーザがMouseAreaをクリックしたときに、私はcurrentIndexを展開したい:

TreeView { 
    id: view 
    TableViewColumn { 
     title: "Name" 
     role: "fileName" 
     width: 300 
    } 
    TableViewColumn { 
     title: "Permissions" 
     role: "filePermissions" 
     width: 100 
     delegate : MouseArea { 
      id:mous 
      onClicked { 
       view.expand(styleData.index); 
      } 
     } 
    } 
    model: fileSystemModel 

    onExpanded { 
     console.log("expanded :" + index) 
    } 
} 
関連する問題