![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Delphist |
![]()
Сообщение
#11
|
Студент ![]() Группа: Новичок Сообщений: 41 Регистрация: 4.8.2008 Из: Россия Пользователь №: 249 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Tonal |
![]()
Сообщение
#12
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: ![]() ![]() ![]() |
Например dataChanged - это сигнал объявленный именно в QAbstractItemModel.
Ты его должен сгенерить (emit dataChanged...) когда данные изменяются. Остальные можешь или тоже руками сгенерить, или, лучше, воспользоваться защищёнными функциями, которые не только его сгенерят но и ещё что-то там сделают (см исходники что именно). ![]() |
|
|
Delphist |
![]()
Сообщение
#13
|
Студент ![]() Группа: Новичок Сообщений: 41 Регистрация: 4.8.2008 Из: Россия Пользователь №: 249 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
trdm |
![]()
Сообщение
#14
|
Дмитрий Трошин ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 575 Регистрация: 12.1.2008 Пользователь №: 68 Спасибо сказали: 21 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Tonal |
![]()
Сообщение
#15
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: ![]() ![]() ![]() |
Ты ассистент открой и погляди. Если что конкретно будет не понятно - спрашивай.
|
|
|
Delphist |
![]()
Сообщение
#16
|
Студент ![]() Группа: Новичок Сообщений: 41 Регистрация: 4.8.2008 Из: Россия Пользователь №: 249 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Ты ассистент открой и погляди. Если что конкретно будет не понятно - спрашивай. Как выяснилось в мою модель от класса CMyClass приходит только сигнал, nodeBeforeDestroyed для обновления своего TreeView в модели, я делаю так:
Приведенный мною код не работает должным образом (для понимания необходимо прочитать коменнтарии в приведенном коде. Вот я думаю может надо в виртуальных функциях: index, parent и.т. ввести признак по markDeleted |
|
|
Tonal |
![]()
Сообщение
#17
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: ![]() ![]() ![]() |
Что значит "код не работает должным образом"? Что происходит то?
![]() Раз у тебя есть markDeleted, то естественно отображать такие узлы не нужно и флаг должен учитываться. Ну и кроме того, может ввести сигнал nodeAfterDestroyed - тогда модель удаления будет точно соответствовать Qt-ёвой. ![]() |
|
|
Delphist |
![]()
Сообщение
#18
|
Студент ![]() Группа: Новичок Сообщений: 41 Регистрация: 4.8.2008 Из: Россия Пользователь №: 249 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Что значит "код не работает должным образом"? Что происходит то? ![]() Раз у тебя есть markDeleted, то естественно отображать такие узлы не нужно и флаг должен учитываться. Ну и кроме того, может ввести сигнал nodeAfterDestroyed - тогда модель удаления будет точно соответствовать Qt-ёвой. ![]() происходит следующее, если есть вот такое дерево: root |___child1 |___child2 |___child3 |___child4 |___child5 |``````| |``````|__child51 |``````| |``````|__child52 так вот если скажем child4 помечен на удаление т.е markDeleted == true, то в дереве перестает отображаться не только child4, но и child5 c его детьми. По поводу того, что необходимо учитывать markDeleted, возникает вопрос как его учитывать и в каких виртуальных ф-циях QAbstractItem |
|
|
Tonal |
![]()
Сообщение
#19
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: ![]() ![]() ![]() |
Помеченный на удаление не должен учитываться в количестве и должен пропускаться в индексе.
Почему у тебя перестаёт отображаться child5 я не в курсе - видимо где-то ошибка. ![]() |
|
|
Delphist |
![]()
Сообщение
#20
|
Студент ![]() Группа: Новичок Сообщений: 41 Регистрация: 4.8.2008 Из: Россия Пользователь №: 249 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 6.7.2025, 20:00 |