Forum » Programiranje » GUI TreeView brez ali z doubly-linked list
GUI TreeView brez ali z doubly-linked list
'FireSTORM' ::
Kaj je boljše, samo treeview in vse akcije delaš v treeview, ali uporabiš treeview samo za prikaz, seznam podatkov pa držiš in obdeluješ v doubly-linked list?
Those penguins.... They sure aint normal....
Vesoljc ::
same podatke moras imho imeti v neki strukturi (dll v tvojem priemru ocitno). ko gres zadevo prikazovat uporabis pac treeview, s cachingom recimo. ko odpres eno vejo, v dll poisces pripadajoce elemente ter si za hitrejesi dostop shranis ("pod list") njegov index/pointer/referenco v dll. ko editiras, editiras preko treeview vmesnika direktno v dll.
Abnormal behavior of abnormal brain makes me normal...
'FireSTORM' ::
Linux, QtC++
Uporabil bi pa QList< T >
Samo če v ta list pomečem QStringe recimo
Zaporedna, Stolpiček1, Stolpiček2, Stolpiček3, Zaporedna, Stolpiček1, Stolpiček2, Stolpiček3, Zaporedna,....
Potem bom imel zmedo pri iskanju, ko bi rad poiskal recimo QString "bla" ki se nahaja v Stolpiček2 in vrgel vse tri stolpičke v treeview z zaporedno številko vred.
Uporabil bi pa QList< T >
Samo če v ta list pomečem QStringe recimo
Zaporedna, Stolpiček1, Stolpiček2, Stolpiček3, Zaporedna, Stolpiček1, Stolpiček2, Stolpiček3, Zaporedna,....
Potem bom imel zmedo pri iskanju, ko bi rad poiskal recimo QString "bla" ki se nahaja v Stolpiček2 in vrgel vse tri stolpičke v treeview z zaporedno številko vred.
Those penguins.... They sure aint normal....
Vesoljc ::
ce imas podatke v stilu ID, DATA to kar klice asociativni strukturi ala MAP (hashmap)
pseudo koda
lahko pa tudi na Data lahko naredis equality operator, ki ti vrne true ce ustreza kateri koli data1/2/3. ce so stolpichi unikatni, potem lahko zadevo tudi sproti cache-as, ko najdes en Data kateremu pripada string "bla", ga dodas v cache mapo (uporabis pointer):
ko isces pa najprej probas sreco v cache mapi, nato pac nardis brute force cez pravo data mapo.
ker pa pravis, da ponvadi isces kar po podatkih (stolpich), bi pa mogoce bilo bolje drugace optimizirati podatke, ampak za to bi pa moral vedeti vec...
ampak kot pravjo:
"premature optimization is the root of all evil"
najprej nared da dela, potem poisci bottlenecke ter optimiziraj zadevo
pseudo koda
class Data { public: string id; string data1, data2, data3; }; map<string, Data> mData;
lahko pa tudi na Data lahko naredis equality operator, ki ti vrne true ce ustreza kateri koli data1/2/3. ce so stolpichi unikatni, potem lahko zadevo tudi sproti cache-as, ko najdes en Data kateremu pripada string "bla", ga dodas v cache mapo (uporabis pointer):
map<string, Data*> mCacheData;
ko isces pa najprej probas sreco v cache mapi, nato pac nardis brute force cez pravo data mapo.
ker pa pravis, da ponvadi isces kar po podatkih (stolpich), bi pa mogoce bilo bolje drugace optimizirati podatke, ampak za to bi pa moral vedeti vec...
ampak kot pravjo:
"premature optimization is the root of all evil"
najprej nared da dela, potem poisci bottlenecke ter optimiziraj zadevo
Abnormal behavior of abnormal brain makes me normal...
'FireSTORM' ::
Thats my intention.
Make it work, then make it better :)
Make it work, then make it better :)
Those penguins.... They sure aint normal....
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [C#] WPF vprašanjaOddelek: Programiranje | 1133 (755) | Ciklamen |
» | [C#] dodajanje direktorijev v treeview (rekurzija)Oddelek: Programiranje | 857 (719) | paco |
» | Qt Designer -> KDevelop C++ ErrorOddelek: Programiranje | 2130 (1660) | 'FireSTORM' |
» | [c++] globalne spremenljivke (extern)Oddelek: Programiranje | 1596 (1469) | Vesoljc |
» | [ASP.NET]Oddelek: Programiranje | 1335 (1189) | OmegaM |