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
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