Название: QTreeView::expandAll/collapseAll(const QModelIndex& index) Отправлено: Akon от Июль 09, 2012, 09:33 QTreeView имеет функции expandAll()/collapseAll() (без параметров), которые разворачивают/сворачивают все объекты. Необходимо выполнить эти действия для конкретного объекта. Что-то не вижу этого функционала в QTreeView, а он, имхо, очень востребован. Может полохо смотрю?
Решение в лоб - написать рекурсивную функцию с использованием QTreeView::expand/collapse(const QModelIndex& index), но, думаю, это грубо (в каждом вызове expand/collapse всякие релейауты), на больших объемах, полагаю, будут тормоза. Какое эффективное решение знаете? Впрочем, по нажатию "*" идет разворот именно через expand(). Название: Re: QTreeView::expandAll/collapseAll(const QModelIndex& index) Отправлено: evgeniy от Апрель 12, 2014, 14:08 Код: void MainWindow::expandNode(const QModelIndex &parentIndex, bool expand) { Название: Re: QTreeView::expandAll/collapseAll(const QModelIndex& index) Отправлено: Akon от Апрель 19, 2014, 15:57 Цитировать Решение в лоб - написать рекурсивную функцию с использованием QTreeView::expand/collapse(const QModelIndex& index) Вы его и привели. |