Название: Как сменить parent для всех QModelIndex целой строки в QStandardItemModel ? Отправлено: Zmeishe от Июнь 26, 2008, 11:31 Qt 4.3.3
Необходимо перенести одну ветку дерева со всеми потомками целиком в другую ветку дерева. Есть какие-нибудь готовые функции Qt или самому рекурсию крутить ? Название: Re: Как сменить parent для всех QModelIndex целой строки в QStandardItemModel ? Отправлено: Karl-Philipp от Июнь 27, 2008, 14:05 а пробовали использовать
Цитировать QStandardItem * QStandardItemModel::takeItem ( int row, int column = 0 ) ?По идее, указатели на дочерние айтемы должны сохраниться в айтеме, который берем. ну а установить с помощью Цитировать void QStandardItem::setChild ( int row, int column, QStandardItem * item ) Название: Re: Как сменить parent для всех QModelIndex целой строки в QStandardItemModel ? Отправлено: Zmeishe от Июнь 30, 2008, 11:51 Спасибо, terlan, навёл на мысль.
Вот окончательный вариант. Одна тонкость - чтобы у вьюхи не было глюкавостей с перерисовкой, переносимую(вырезаемую) ветку надо свернуть, вызвав вьюхин слот collapse(const QModelIndex & index) Код: void MainWindowImpl::on_actionCut_triggered() |