Forum » Programiranje » [Qt4]QListView - QStandardItemModel, children
[Qt4]QListView - QStandardItemModel, children
'FireSTORM' ::
Ok zdaj pa sem res obupal.
Qt dokumentacijo glede tega sem obrnil gor in dol, po dolgem in počez, ampak mi nikakor ne uspe. Oz. je mi uspelo ampak ne tako kot bi jaz rad.
Zadeva je taka.
Imam QListView widget katerega upravljam z QStandardItemModel. Z njim ga tudi polnim ampak pojavi se problem kot hočem nekemu dodanemu elementu dodati "otroka"(child).
Item je razdeljen v 10 columnov, z childi bi pa rad izkoristil prve tri že obstoječe columne. Torej prvi trije so Title, Description in Type. Te tri bi izkoriščali tako parent items kot child items. Ostalih 7 pa pripada samo parent items.
No in kot pravim mi je že uspelo in sicer na tak način:
parentItem->setChild(0,0,QStandardItem*);
parentItem->setChild(0,1,QStandardItem*);
parentItem->setChild(0,2,QStandardItem*);
Številke so bile morda obrnjene, 0,0,.. - 1,0,.. - 2,0,..
No to mi doda kot mora. Ampak ta način mi ne diši ravno preveč.
V dokumentaciji pod QAbstractItemModel katerega QStandardItemModel sub-classa piše da bi naj dodajal child items z insertColumns(int, int, QModelIndex);
Kewl. Dodam columne in na podoben način kot sem dodajal parent items dodam še child items. Kar pa nekako ni tako in ne deluje.
In sicer koda za dodajanje child items je zdaj takšna:
QModelIndex cI;
model->insertColumns(0, 3, model->index(pItem->row(), pItem->column()));
cI = model->index(4, 1, model->index(pItem->row(), pItem->column()));
model->setData( cI, "TEST!", Qt::DisplayRole);
Če ve kdo boljši način, ne lažji, ampak boljši prosim na plan z njim.
BW računam nate
Qt dokumentacijo glede tega sem obrnil gor in dol, po dolgem in počez, ampak mi nikakor ne uspe. Oz. je mi uspelo ampak ne tako kot bi jaz rad.
Zadeva je taka.
Imam QListView widget katerega upravljam z QStandardItemModel. Z njim ga tudi polnim ampak pojavi se problem kot hočem nekemu dodanemu elementu dodati "otroka"(child).
Item je razdeljen v 10 columnov, z childi bi pa rad izkoristil prve tri že obstoječe columne. Torej prvi trije so Title, Description in Type. Te tri bi izkoriščali tako parent items kot child items. Ostalih 7 pa pripada samo parent items.
No in kot pravim mi je že uspelo in sicer na tak način:
parentItem->setChild(0,0,QStandardItem*);
parentItem->setChild(0,1,QStandardItem*);
parentItem->setChild(0,2,QStandardItem*);
Številke so bile morda obrnjene, 0,0,.. - 1,0,.. - 2,0,..
No to mi doda kot mora. Ampak ta način mi ne diši ravno preveč.
V dokumentaciji pod QAbstractItemModel katerega QStandardItemModel sub-classa piše da bi naj dodajal child items z insertColumns(int, int, QModelIndex);
Kewl. Dodam columne in na podoben način kot sem dodajal parent items dodam še child items. Kar pa nekako ni tako in ne deluje.
In sicer koda za dodajanje child items je zdaj takšna:
QModelIndex cI;
model->insertColumns(0, 3, model->index(pItem->row(), pItem->column()));
cI = model->index(4, 1, model->index(pItem->row(), pItem->column()));
model->setData( cI, "TEST!", Qt::DisplayRole);
Če ve kdo boljši način, ne lažji, ampak boljši prosim na plan z njim.
BW računam nate
Those penguins.... They sure aint normal....
'FireSTORM' ::
Sem že vprašal tam pa nobenega odgovora...
Sicer sem našel način z QStandardItemModel-om vnašat, vse kar je bilo treba vnest v google je
QStandardItemModel child example
in sem našel en lep dokument vseh ekzemplov glede item modelov.
Sicer še vedno ni tako kot bi jaz rad ampak sem se sprijaznil. Zgleda pa nekako takole:
QModelIndex cI;
model->insertRow(0, model->index(pItem->row(), pItem->column()));
model->insertColumn(0, model->index(pItem->row(), pItem->column()));
cI = model->index(0, 0, model->index(pItem->row(), pItem->column()));
model->setData( cI, "TEST!", Qt::DisplayRole);
pItem je parentItem k kateremu se dodajajo childi.
Seveda te nule bo treba potem spremenit da se bo programatično lahko dodajalo po mili volji, ampak za testiranje je bilo dovolj.
Sicer sem našel način z QStandardItemModel-om vnašat, vse kar je bilo treba vnest v google je
QStandardItemModel child example
in sem našel en lep dokument vseh ekzemplov glede item modelov.
Sicer še vedno ni tako kot bi jaz rad ampak sem se sprijaznil. Zgleda pa nekako takole:
QModelIndex cI;
model->insertRow(0, model->index(pItem->row(), pItem->column()));
model->insertColumn(0, model->index(pItem->row(), pItem->column()));
cI = model->index(0, 0, model->index(pItem->row(), pItem->column()));
model->setData( cI, "TEST!", Qt::DisplayRole);
pItem je parentItem k kateremu se dodajajo childi.
Seveda te nule bo treba potem spremenit da se bo programatično lahko dodajalo po mili volji, ampak za testiranje je bilo dovolj.
Those penguins.... They sure aint normal....
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [VB] datagridviewOddelek: Programiranje | 1951 (1334) | korenje3 |
» | poravnava li elementovOddelek: Izdelava spletišč | 2164 (2029) | boss-tech |
» | Word macro: brisanje od določenega znaka naprejOddelek: Programiranje | 1256 (1130) | Simplon |
» | c# datagridview in comboxOddelek: Programiranje | 1219 (1107) | OmegaM |
» | [C++-Qt] QDateTime v LocalDate in LocalTime formatuOddelek: Programiranje | 1190 (1082) | 'FireSTORM' |