» »

[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 >:D
Those penguins.... They sure aint normal....

moowy123 ::

Za vprašanja glede QT-ja slo-tech ni pravo mesto. Pravo mesto je na QT Centre.

'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.
Those penguins.... They sure aint normal....


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[VB] datagridview

Oddelek: Programiranje
351938 (1321) korenje3
»

poravnava li elementov

Oddelek: Izdelava spletišč
82141 (2006) boss-tech
»

Word macro: brisanje od določenega znaka naprej

Oddelek: Programiranje
61244 (1118) Simplon
»

c# datagridview in combox

Oddelek: Programiranje
131207 (1095) OmegaM
»

[C++-Qt] QDateTime v LocalDate in LocalTime formatu

Oddelek: Programiranje
101181 (1073) 'FireSTORM'

Več podobnih tem