Indeksowanie QTreeView

Indeksowanie QTreeView
AJ
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad 11 lat
  • Postów:35
0

Hej, mam pewien problem. Otóż posiadam QTreeView dla której piszę model:

Kopiuj
void ListDialog::setModel()
{

    QStandardItemModel* model = new QStandardItemModel();

    QStandardItem *zwierzeta = new QStandardItem("Zwierzeta");
    model->appendRow(zwierzeta);


    for(int i = 0; i<10; i++) {

        QStandardItem *item = new QStandardItem(netlist.at(i));
        item->setFlags(item->flags() & ~Qt::ItemIsEditable);
        zwierzeta->appendRow(item);

    }
    QStandardItem *szkola = new QStandardItem(QString::fromLocal8Bit("Szkoła"));
    model->appendRow(szkola);

    for(int i = 10; i<28; i++) {


        QStandardItem *item2 = new QStandardItem(netlist.at(i));
        item2->setFlags(item2->flags() & ~Qt::ItemIsEditable);
        szkola->appendRow(item2);
    }


    ui->treeView->setModel(model);


} 

netlist jest typu QStringList;

Otóż jeśli następnie chcę uzyskać indeks bieżącego wiersza jako int:

Kopiuj
    QModelIndex index = ui->treeView->currentIndex();
    int row = index.row(); 

sprawa się sypie. Bo np. pierwszy element z kategorii szkoła ma indeks 0, a nie 10. Wiecie jak temu zaradzić?

MarekR22
Moderator C/C++
  • Rejestracja:ponad 17 lat
  • Ostatnio:mniej niż minuta
1

No i tak ma być. Za to ten element ma parent'a "Szkoła" o indeksie 1.


Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.
edytowany 2x, ostatnio: MarekR22
AJ
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad 11 lat
  • Postów:35
0

Ah, faktycznie. Dziękuję Ci bardzo ;)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.