TreeView и модель на базе QAbstractItemModel, как заставить обновляться только определенный node |
Здравствуйте, гость ( Вход | Регистрация )
TreeView и модель на базе QAbstractItemModel, как заставить обновляться только определенный node |
Delphist |
8.8.2008, 12:26
Сообщение
#1
|
Студент Группа: Новичок Сообщений: 41 Регистрация: 4.8.2008 Из: Россия Пользователь №: 249 Спасибо сказали: 0 раз(а) Репутация: 0 |
У меня есть класс который имеет ряд свойств и содержит внутри себя QHash с объектами того же типа в итоге получается иерархический класс:
Для отображения я использую TreeView и соответственно собственную модель данных наследованную от QAbstractItemModel. Вопрос такой дело в том что когда у моего объекта меняется свойство например m_sName, то для всех m_Listeners генерится OnValueChanged. И нужно чтобы эти изменения сразу отображались в TreeView, вопрос как заставить обновляться не все дерево, только отдельный элемент. Конечно можно было сделать так, но это не очень эффективно: /*прототип*/
Причина редактирования: для кода используйте тег code=cpp
|
|
|
Tonal |
10.8.2008, 14:05
Сообщение
#2
|
Активный участник Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: 17 |
...вопрос как заставить обновляться не все дерево, а только отдельный элемент. Послать OnValueChanged модельке, которая преобразует const СMyClass & в QModelIndex и сгенерирует сигнал dataChanged. Нет? Кстати, а зачем ты дублируешь Qt-шную систему сигнал/слот с помощью QLinkedList<ListenerSlot>? Сигнал/слот вполне хорошо с этим справляется. |
|
|
Текстовая версия | Сейчас: 19.1.2025, 2:52 |