Russian Qt Forum
Октябрь 01, 2024, 00:35 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Сигналы между QTreeView(QAbstractItemModel) и QListView(QSortFilterProxyModel)  (Прочитано 2801 раз)
yuriyb
Гость
« : Август 02, 2011, 16:22 »

Всем привет! В Qt немного нуб. сильно не пинайте Подмигивающий

Ребята не много недокуриваю как посылать сигналы между *View, если один из них на основной модели, а второй на SortFilterProxyModel.
Код:
    
tview->setModel(Application::instance()->favoritesManager()->treeFolderItemModel());
lview->setModel(Application::instance()->favoritesManager()->treeItemModel());

connect(tview, SIGNAL(clicked(QModelIndex)), lview, SLOT(setRootIndex(QModelIndex)));
в дебаг вьювере: QAbstractItemView::setRootIndex failed : index must be from the currently set model

treeItemModel - основная модель
treeFolderItemModel - SortFilterProxyModel над основной моделью.

Ведь вроде как mapFrom/To методы в SortFilterProxyModel уже реализованы? Помогите плиз.
Записан
Kunashir
Гость
« Ответ #1 : Август 18, 2011, 15:30 »

Если я правильно понял в treeView, и в прокси-модель передается индекс из модели источника, что не верно.
Может попробовать так:

Код:
 QModelIndex i = treeFolderItemModel ->mapFromSource(index); //пересчитываем индекс из источника в прокси
 lview.setRootIndex (i);
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.099 секунд. Запросов: 20.