Russian Qt Forum
Ноябрь 23, 2024, 11:54
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Model-View (MV)
>
QAbstractItemModel обновить данные в отображении
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: QAbstractItemModel обновить данные в отображении (Прочитано 12742 раз)
boobsik
Гость
QAbstractItemModel обновить данные в отображении
«
:
Август 15, 2009, 19:06 »
унаследовал QAbstractItemModel.. я изменил данные в элементе, который соответствует ряду(row), как обновить данные в компоненте, который отображает данные? в данном случае компонент QTreeView.. (присоединил модель с помощью setModel(QAbstractItemModel* model))
Записан
Rcus
Гость
Re: QAbstractItemModel обновить данные в отображении
«
Ответ #1 :
Август 15, 2009, 19:10 »
А документацию по моделям уже читали? И пропустили описания сигналов? Советую вернуться и дочитать.
Записан
boobsik
Гость
Re: QAbstractItemModel обновить данные в отображении
«
Ответ #2 :
Август 15, 2009, 19:16 »
а разве отображение само не коннектит сигнал обновления? при установке новой модели?
«
Последнее редактирование: Август 15, 2009, 19:23 от boobsik
»
Записан
Rcus
Гость
Re: QAbstractItemModel обновить данные в отображении
«
Ответ #3 :
Август 15, 2009, 19:24 »
/*sigh*/ Коннектит, но вы используете своего наследника QAbstractItemModel, а потому и вызов сигнала dataChanged нужно самому писать.
P.S. ушел.
Записан
boobsik
Гость
Re: QAbstractItemModel обновить данные в отображении
«
Ответ #4 :
Август 15, 2009, 19:28 »
dataChanged не виртуальный сигнал, смысл писать свой? сорри, понял) спасибо!)
«
Последнее редактирование: Август 15, 2009, 19:35 от boobsik
»
Записан
f-r-o-s-t
Гость
Re: QAbstractItemModel обновить данные в отображении
«
Ответ #5 :
Август 15, 2009, 19:35 »
Цитата: Rcus от Август 15, 2009, 19:24
вызов сигнала dataChanged нужно самому писать.
Цитата: boobsik от Август 15, 2009, 19:28
dataChanged не виртуальный сигнал, смысл писать свой?
Писать и вызывать разные вещи. Попробуй emit dataChanged...
Записан
boobsik
Гость
Re: QAbstractItemModel обновить данные в отображении
«
Ответ #6 :
Август 15, 2009, 19:37 »
я могу сделать emit dataChanged(...) вне компонента?
Записан
f-r-o-s-t
Гость
Re: QAbstractItemModel обновить данные в отображении
«
Ответ #7 :
Август 15, 2009, 19:40 »
Цитата: boobsik от Август 15, 2009, 19:37
я могу сделать emit dataChanged(...) вне компонента?
Нет... а что компонента сама не знает что её меняют ?=)
Записан
boobsik
Гость
Re: QAbstractItemModel обновить данные в отображении
«
Ответ #8 :
Август 15, 2009, 20:36 »
ну допустим модель данных незнает) меняю только обьект отвечающий за ряд(row).. и как будет выглядеть фунция, которая эмитит dataChange внутри унаследованного от QAbstractItemModel класса? Нужна функция update, которая обновляет всю модель, но я не понимаю, какие QModelIndex надо в dataChange(...) засунуть?
создал метод в унаследованной модели данных
void MLDataModel::update(){
emit dataChanged(index(0,0), index(2,1));
}
но после его выполнения добавленный третий ряд в QTreeView не отображается =(
Записан
BRE
Гость
Re: QAbstractItemModel обновить данные в отображении
«
Ответ #9 :
Август 15, 2009, 20:40 »
Цитата: boobsik от Август 15, 2009, 20:36
но после его выполнения добавленный третий ряд в QTreeView не отображается =(
А про эти сигналы QAbstarctItemModel читал?
void rowsAboutToBeInserted ( const QModelIndex & parent, int start, int end )
void rowsAboutToBeRemoved ( const QModelIndex & parent, int start, int end )
void rowsInserted ( const QModelIndex & parent, int start, int end )
void rowsRemoved ( const QModelIndex & parent, int start, int end )
Записан
f-r-o-s-t
Гость
Re: QAbstractItemModel обновить данные в отображении
«
Ответ #10 :
Август 15, 2009, 20:43 »
Всю модель может и reset обновить =)
А в dataChange(...) надо просто передать место изменения.
Простите, но я наверное лучше покину топик =)
Записан
boobsik
Гость
Re: QAbstractItemModel обновить данные в отображении
«
Ответ #11 :
Август 15, 2009, 20:46 »
алилуя!)) спасибо frost)
Записан
f-r-o-s-t
Гость
Re: QAbstractItemModel обновить данные в отображении
«
Ответ #12 :
Август 15, 2009, 20:52 »
Цитата: boobsik от Август 15, 2009, 20:46
алилуя!)) спасибо frost)
Я думал тебе надо только место изменения обновить.
На здоровье =)
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...