PDA

View Full Version : QTreeView PARENT & CHILD



zeeb100
10th February 2009, 14:41
hi i do this code:




QItemSelectionModel *sel=dirv->treeView->selectionModel();

QModelIndexList modelindex;

QVariant data;

QAbstractItemModel *am=dirv->treeView->model();

modelindex=sel->selectedIndexes();

int i=0;

QList<QModelIndex> index(modelindex);

for(i=0; i<index.size();++i){
QModelIndex mi=index.at(i);
QVariant data=am->data(mi,0);

QString s = data.toString();
QByteArray bytArr = s.toLatin1();
char *pr = bytArr.data();

QModelIndex mi2= index.at(1).parent();
QVariant data2=am->data(mi2,0);
QString s2 = data2.toString();
QByteArray bytArr2 = s2.toLatin1();
char *pr2 = bytArr2.data();

cout << i << "child:::" << pr << "---parent:::" << pr2 << endl;
}



why if i selected 5 different item in different folder
the parent is the first selected item ????????

exemple:
i select
x.jpg ---> image
and
y.jpg ---> img

output:
child:::x.jpg---parent:::image
child:::y.jpg---parent:::image

zeeb100
10th February 2009, 14:53
sorry i'm very tired the error was

QModelIndex mi2= index.at(1).parent();

correct is
QModelIndex mi2= index.at(i).parent();

:o

but after 8 hours on pc.. :p