Portál AbcLinuxu, 24. dubna 2024 14:46


Dotaz: QTreeView

4.1.2010 11:44 Icek
QTreeView
Přečteno: 180×
Odpovědět | Admin
Snažím se vybrat položky v QTreeView pomocí kódu, tedy ne kliknutím myší. Našel jsem QItemSelectionModel a tam metodu virtual void select (const QModelIndex & index, QItemSelectionModel:SelectionFlags command), ale jak se mám dostat všechny QModelIndex z QTreeView?

Mám použít metody virtual int rowCount (const QModelIndex & parent = QModelIndex ()) const = 0; a virtual int columnCount(const QModelIndex & parent = QModelIndex ()) const = 0; k enumerovaní všech QModelIndex? Neboto jde to udělat nějak jinak? díky
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

David Watzke avatar 4.1.2010 17:47 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: QTreeView
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pokud chceš označit všechny, pak použij metodu selectAll(). Pokud chceš získat seznam všech model indexů, jedna z možností je po zavolání selectAll() volat ještě selectedIndexes(), ale to je prasárna, protože decentně fungující realizace pomocí tohoto postupu by IMHO vyžadovala ošklivej hack (bylo by třeba nejdřív si uložit aktuálně označený, zmrazit GUI, pak udělat tohle, vrátit označení jak bylo a rozmrazit GUI :-D).

PS: nezkoušel jsem to.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
4.1.2010 19:39 Icek
Rozbalit Rozbalit vše Re: QTreeView
Ja sem prave tajne doufal ze mi nekdo poradi zpusob jak ziskat model indexy, ktere jsou "prave videt", protoze jestli to dobre chapu tak qt nevytvari vsechny najednou, ale pouze ty co jsou potreba.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.