Форум вопросов и ответов

Форум вопросов и ответов (https://www.otvetnemail.ru/)
-   Третий архив вопросов и ответов (https://www.otvetnemail.ru/tretij-arhiv-voprosov-i-otvetov-807/)
-   -   Перемещение строчек beginMoveRows, endMoveRows (https://www.otvetnemail.ru/tretij-arhiv-voprosov-i-otvetov-807/peremeshenie-strochek-beginmoverows-endmoverows-358113/)

Guest 30.09.2011 20:59

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


Часовой пояс GMT, время: 00:46.


© www.otvetnemail.ru - Форум вопросов и ответов.