Здравствуйте.
Переписал пример %QTDIR\examples\itemviews\editabletreemodel, так чтобы перемещать строчки внути модели (исходник прикреплен к посту).
- создал два пункта меню: "Move Row Up" и "Move Row Down"
- перенаправил нажатие от этих пунктов меню на слоты: MainWindow::moveRowUp() и MainWindow::moveRowDown()
- оттуда происходит вызов метода модели TreeModel::moveRows, с указанием номера строки, которую следует переместить, а так же её "родителя".
- внутри метода модели происходит три операции
* beginMoveRows() - блокируем кусок модели
* TreeItem::moveChildren() - перемещаем элемент
* endMoveRows() - освобождаем кусок мождели
Собственно всё работает, но не для каждой строчки:
- для первых двух строчек относительно корня выпадает ошибка/исключение.
- все остальные строчки кроме первых двух прекрасно перемещаются между собой
Причем ошибка для первых двух строчек возникает только при исполнении метода endMoveRows()
В чем может быть причина ?
QT 4.6.2