Название: [РЕШЕНО]когда пускать QAbstractItemModel::dataChanged(...), мониторинг изменений Отправлено: unkeep от Сентябрь 20, 2013, 11:49 при редактировании понятно. указать два индекса topLeft и bottomRight, между которыми ячейки поменялись.
а как с вставкой и удалением? тут сомневаюсь
какие индексы передавать сигналу при удалении/вставке 1.2 нужно ли вообще сигнал возбуждать в этих случаях, или только в SetData? Цитировать void QAbstractItemModel::dataChanged ( const QModelIndex & topLeft, const QModelIndex & bottomRight ) [signal] This signal is emitted whenever the data in an existing item changes. If the items are of the same parent, the affected ones are those between topLeft and bottomRight inclusive. If the items do not have the same parent, the behavior is undefined. When reimplementing the setData() function, this signal must be emitted explicitly. Название: Re: когда пускать QAbstractItemModel::dataChanged(...) Отправлено: mutineer от Сентябрь 20, 2013, 12:03 Для вставки есть beginInsertRows/endInsertRows
Для удаления beginRemoveRows/endRemoveRows Название: Re: когда пускать QAbstractItemModel::dataChanged(...) Отправлено: kambala от Сентябрь 20, 2013, 12:06 этот сигнал испускается когда внутреннее содержимое айтема меняется, к вставке/удалению отношения не имеет. тебе нужны begin*Rows() и begin*Columns().
Название: Re: когда пускать QAbstractItemModel::dataChanged(...) Отправлено: unkeep от Сентябрь 20, 2013, 12:11 cпасибо, а есть ли какой-либо сигнал который извещает о том что данные в модели изменились, будь тот редактирование, удаление или вставка?
Название: Re: когда пускать QAbstractItemModel::dataChanged(...) Отправлено: Bepec от Сентябрь 20, 2013, 12:16 Всё по отдельности.
Название: Re: когда пускать QAbstractItemModel::dataChanged(...) Отправлено: unkeep от Сентябрь 20, 2013, 12:33 Всё по отдельности. rowsInserted, rowsRemoved - private . Свой сигнал сделать?Название: Re: [РЕШЕНО]когда пускать QAbstractItemModel::dataChanged(...), мониторинг изменений Отправлено: mutineer от Сентябрь 20, 2013, 12:37 квалификатор доступа не влияет на возможность привязаться к сигналу
Название: Re: [РЕШЕНО]когда пускать QAbstractItemModel::dataChanged(...), мониторинг изменений Отправлено: Bepec от Сентябрь 20, 2013, 12:48 connect - это когда указанный Object привязывает свой же слот/сигнал. Для него все методы доступны.
Название: Re: [РЕШЕНО]когда пускать QAbstractItemModel::dataChanged(...), мониторинг изменений Отправлено: unkeep от Сентябрь 20, 2013, 13:36 я в своей модели, унаследованной от QAbstractItemModel, где
Код
не могу услышать этот сигнал, он не распространяется на потомков, я так понимаю... Пишу коннект в конструкторе своей модели. Sender - this, member - this. Или как-то через родительский класс надо? ПОДПИСАЛСЯ. не смотря на то, что в "конструкторе кода" сигнала не было. Ручками написал и заработало) Название: Re: [РЕШЕНО]когда пускать QAbstractItemModel::dataChanged(...), мониторинг изменений Отправлено: mutineer от Сентябрь 20, 2013, 14:47 не могу услышать этот сигнал, он не распространяется на потомков, я так понимаю... Пишу коннект в конструкторе своей модели. Sender - this, member - this. Или как-то через родительский класс надо? ПОДПИСАЛСЯ. не смотря на то, что в "конструкторе кода" сигнала не было. Ручками написал и заработало) Вообще не понял что имелось в виду Название: Re: [РЕШЕНО]когда пускать QAbstractItemModel::dataChanged(...), мониторинг изменений Отправлено: unkeep от Сентябрь 26, 2013, 10:24 Вообще не понял что имелось в виду [/quote] получилось в итоге. просто смутило то, что когда коннектишь сигналы, которые описаны в родителях, их нет в подсказке по "ctrl+space". Есть только те, что в конечном классе. |