Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: gaara от Февраль 16, 2009, 15:12



Название: [Qt 3.3] ListView - ExpandAll, CollapseAll - как сделать?
Отправлено: gaara от Февраль 16, 2009, 15:12
Добрый день!

Собственно, вопрос в названии темы..


Название: Re: ListView - ExpandAll, CollapseAll - как сделать?
Отправлено: BRE от Февраль 16, 2009, 15:15
Добрый день!

Собственно, вопрос в названии темы..
Ээээ. QListView или все же QTreeView?


Название: Re: ListView - ExpandAll, CollapseAll - как сделать?
Отправлено: gaara от Февраль 16, 2009, 15:16
QT 3.3

QTreeView в нем не нашел


Название: Re: ListView - ExpandAll, CollapseAll - как сделать?
Отправлено: BRE от Февраль 16, 2009, 15:24
QT 3.3
Для Qt3.3: Думаю руками перебирать все QListViewItem и делать setOpen.


Название: Re: ListView - ExpandAll, CollapseAll - как сделать?
Отправлено: pastor от Февраль 16, 2009, 15:27
QT 3.3
QTreeView в нем не нашел

А в 3.3 такого и  нет.

По теме: Для ExpandAll нужно пробежатся по дереву и сделать setOpen(true) для айтемов.

Код
C++ (Qt)
QListViewItemIterator it( yourListView );
while ( it.current() ) {
   if ( !it.current()->isOpen() )
       it.current()->setOpen(true);
   ++it;
}

Для CollapseAll, setOpen(false):

Код
C++ (Qt)
QListViewItemIterator it( yourListView );
while ( it.current() ) {
   if ( it.current()->isOpen() )
       it.current()->setOpen(true);
   ++it;
}


Название: Re: ListView - ExpandAll, CollapseAll - как сделать?
Отправлено: BRE от Февраль 16, 2009, 15:32
pastor, а рекурсия там не нужна?
Забыл уже все.


Название: Re: ListView - ExpandAll, CollapseAll - как сделать?
Отправлено: gaara от Февраль 16, 2009, 15:42
спасибо!


Название: Re: ListView - ExpandAll, CollapseAll - как сделать?
Отправлено: pastor от Февраль 16, 2009, 15:44
pastor, а рекурсия там не нужна?
Забыл уже все.

неа, ненужна.

Цитировать
A QListViewItemIterator iterates over all the items from its starting point. This means that it always makes the first child of the current item the new current item. If there is no child, the next sibling becomes the new current item; and if there is no next sibling, the next sibling of the parent becomes current.