![]() |
|
![]() ![]() ![]() |
|
Brodyaga |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 599 Регистрация: 19.1.2008 Репутация: нет Всего: 2 |
Всем привет!
Такая проблема, хочу из кода свернуть соответствующий узел дерева, использую для этого void QTreeView::collapse ( const QModelIndex & index ) Узел не сворачивается, хотя index точно верный, так как проверяю получением из него объекта (QModelIndex::internalPointer) Также пробовал функцию setExpanded ( const QModelIndex & index, bool expanded ), на работает. Причём когда использую void QTreeView::collapseAll () всё работает отлично, но сворачиваются ВСЕ узлы, а мне нужны только определённые. Кто-нибудь сталкивался с подобной проблемой? Как быть? |
|||
|
||||
borisbn |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
о каком объекте ты говоришь ? Попробуй след. образом: подцепись на сигнал void QTreeView::expanded ( const QModelIndex & index ) [signal] и внутри этого метода вызывай void QTreeView::collapse ( const QModelIndex & index ) с тем же индексом. "Раскрой" какой-нибудь узел. Он, по идее, должен свернуться обратно. Если всё так, то ты неверно задаешь index в collapse -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||
|
|||||
Brodyaga |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 599 Регистрация: 19.1.2008 Репутация: нет Всего: 2 |
Я делаю дерево на основе своей модели, в internalPointer хранятся мои объекты, при проверке я получаю свой объект и вижу что он тот которому соответствует узел, так что index верный. |
|||
|
||||
_GRIN_ |
|
|||
![]() одинокий падаван ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 18.11.2007 Где: Калуга Репутация: 6 Всего: 7 |
QTreeView::collapse() и QTreeView::expand() работают нормально (специально мини-приложение с дизайнером набросал и проверил)
Думаю вам стоит копать в сторону неправильного индекса (у меня были подобные проблемы из-за сортировки - но правда не в дереве а в таблице). Тестовое приложение (на котором проверял) QTreeWidget и две кнопки - в дерево делаешь айтемы (3x3x3) и проверяешь - обработчики в коде выше). Это сообщение отредактировал(а) _GRIN_ - 18.3.2011, 17:19 -------------------- Дорогу осилит идущий |
|||
|
||||
Brodyaga |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 599 Регистрация: 19.1.2008 Репутация: нет Всего: 2 |
Так работает :(
У меня как раз прокси модель поверх обычной положена... Сейчас ещё покопаюсь.. |
||||
|
|||||
Brodyaga |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 599 Регистрация: 19.1.2008 Репутация: нет Всего: 2 |
Заработало, оказывается нужно было индекс прокси модели использовать а не приобразовывать его в индекс обычной модели! Всем спасибо, тема закрыта.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |