crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> beginInsertRows, Сложная модель
PAFOS
  опции профиля:
сообщение 21.2.2011, 15:18
Сообщение #1


Активный участник
***

Группа: Участник
Сообщений: 258
Регистрация: 27.12.2010
Из: Дмитров
Пользователь №: 2309

Спасибо сказали: 29 раз(а)




Репутация:   8  


Здравствуйте. Нужен хелп.

Есть 2 SQL таблицы.

leafs( leaf_id int primary key auto_increment, name text )
sizes( size_id int primary key auto_increment, leaf_id int, name )

соответственно sizes.size_id = leaf_id

Сделал свою модель. В моделе храню две QSqlTableModel - одна для leafs, другая для sizes
В своей моделе сделал иерархию. Корень записи из leafs, ветка 1-го уровня - записи из sizes.

Для показа/редиктирования модели сделал два виджета QTableView.
Один показывает leafs, другой sizes. Когда выбираю строку из leafs, генерится сигнал currentRowChanged(QModelIndex current,QModelIndex previous). В нем я делаю m_sizesModel->setRootIndex(current);

Все работает, записи добавляются и в ту и другую таблицы, данные изменяются корректно.

Когда доходит дело до удаления записей начинается лажа.
согласно документации для удаления записей я должен переопределить метод removeRows( int row, int count, QModelIndex parent)
в нем я должен вызвать метод beginRemoveRows() прежде чем удалять данные и endRemoveRows() после того как данные удалены.

В метод приходят корректные аргументы (т.е. валидный индекс, номер строки и кол-во)
при вызове метода beginRemoveRows(parent,row,row+count-1) прога намертво виснет!

даже не знаю в чем беда! :blink:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 24.4.2024, 6:51