Название: Как узнать какие данные изменены по сигналу dataChanged (...)? Отправлено: vdann от Июль 22, 2011, 10:12 Всем доброго времени суток! У QAbstractItemModel есть сигнал dataChanged ( const QModelIndex & topLeft, const QModelIndex & bottomRight ), который отправляется при любом изменении состояния модели, но мне необходимо знать какие данные были изменены (то есть какими они были до изменения и что в них изменилось). Может кто-нибудь знает какое-нибудь решение этой проблемы?
Название: Re: Как узнать какие данные изменены по сигналу dataChanged (...)? Отправлено: twp от Июль 22, 2011, 19:56 самое простое что пришло в голову - это переопределить в модели метод QAbstractItemModel::setData() и в нем испускать свой сигнал
Название: Re: Как узнать какие данные изменены по сигналу dataChanged (...)? Отправлено: vdann от Август 01, 2011, 12:49 Спасибо за совет, но это немного не то, модель передается снаружи, мне её никак не унаследовать...
Название: Re: Как узнать какие данные изменены по сигналу dataChanged (...)? Отправлено: GreatSnake от Август 01, 2011, 12:57 Самый простой вариант - это после заливки данных в модель пробежаться по всем элементам и сделать для каждого элемента копию данных через setData(Qt::UserRole) и уже в слоте сравнивать data() c data(Qt::UserRole).
|