Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Своя модель представление
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Модель/Представление
wiz29
при добавление данных в модель не отображает элементы в представлении, почему?
Создал свою модель дерева, добавляю в нее данные, реально вставляются строки , данные в модель попадают, а вот представление не рисует,
протрейсил внутрь QTreeView :: dataChanged, в переменную topViewIndex возвращает -1, тк во вью кр хедера нет других данных (но этоже обновление данных в добавленную строку!) Подскажите что я делаю не так. (Если в модель добавляю данные до первого "рефреша" то все отображает. Может нужно чтото вызвать у вида чтоб данные появились (хотя, мне кажется это странным)?
вот код:
        TreeItemModel* pModel = m_pWidget->GetModel();
        if (!pModel->insertRow(0, QModelIndex()))
        {            
            return;
        }        
        QModelIndex index = pModel->index(pModel->rowCount(QModelIndex()) - 1, 0, QModelIndex());
        pModel->setData(index, QVariant(str), Qt::DisplayRole);


Друзья, я разобрался в чем было дело. :) Оказывается, хедер это рут индекс древа и он колапснут изначально, при первом добавлении элемента его нужно сделать expand и все становится нормально. :)))
Litkevich Yuriy
Цитата(wiz29 @ 25.10.2010, 0:32) *
данные в модель попадают, а вот представление не рисует,
а ты представления уведомляешь об изменении модели?

Цитата(wiz29 @ 25.10.2010, 0:32) *
тк во вью кр хедера нет других данных
...
Оказывается, хедер это рут индекс древа и он колапснут изначально
тыб ещё на нормальном русском языке говорил, чтоб тебя все понимали. Я, например, вообще ничего не понял.
wiz29
Да представление получает уведомление, но не рисует данные.

"протрейсил внутрь QTreeView :: dataChanged, в переменную topViewIndex возвращает -1"
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.