PDA

View Full Version : QTreeView : Multiple Selection Sort as Display in tree view



jeydrizzt
10th December 2010, 14:58
Hi Everybody,

Use Case: i selected some elements in a treeview and i try to display it in a messageBox.

Example:
P1
- C1
- C2
- C3
P2
- C4
- C5

i selected C4 C1 and C3 my displayed selection is C4 C1 C3 but i want C1 C3 C4

i post my selection code:


void MainWindow::clicSelection()
{

QItemSelectionModel *selection = ui->treeView->selectionModel();

listeSelections = selection->selectedIndexes();

qSort(listeSelections.begin(),listeSelections.end( ));

selection->clearSelection();
for(int i=0;i<listeSelections.size();i++)
{

QList<QStandardItem*>item = modele->findItems( modele->data(listeSelections[i], Qt::DisplayRole).toString(),Qt::MatchExactly|Qt::M atchRecursive);
if(item.size()==0)
{
QMessageBox::information(this, "Info debug",
"item =0");
}else
item[0]->setForeground(QBrush(Qt::blue));
}
QString elementsSelectionnes;
for (int i = 0 ; i < listeSelections.size() ; i++)
{
QVariant elementSelectionne = modele->data(listeSelections[i], Qt::DisplayRole);
elementsSelectionnes += elementSelectionne.toString() + "<br />";
}
QMessageBox::information(this, "Eléments sélectionnés", elementsSelectionnes);
}

Thanks For your Help