void MainWindow::createtreestructure()
{
QStandardItem *parentItem
= mymodel
->invisibleRootItem
();
//rootItem for(int row = 0; row < mymodel->rowCount(); ++row ) {
QStandardItem *item
= mymodel
->item
(row,parent_acc_id
);
//Grap Item int parentid = item->data(Qt::DisplayRole).toInt();//this integer determines the (new) parent of Item
oldparentItem = static_cast<QStandardItem *>(item->parent()); //cast parent in order to use QStandardItem::takeChild
if(oldparentItem){
oldparentItem->takeChild(item->row(),item->column());//remove (but do not delete) Item from model to avoid double entry
}
if( parentid >0 ) { //ParentKeys has been declared earlier as QMap<int,QStandardItem*> ParentKeys
main->ParentKeys.value(parentid)->setChild(0,item); //Asign child to new parent
} else {
parentItem->setChild(0,item); //no parentid was found = assign to rootItem
}
}
}
void MainWindow::createtreestructure()
{
QStandardItem *parentItem = mymodel->invisibleRootItem(); //rootItem
QStandardItem *oldparentItem ;//placeholder for Item->parent()
for(int row = 0; row < mymodel->rowCount(); ++row ) {
QStandardItem *item = mymodel->item(row,parent_acc_id);//Grap Item
int parentid = item->data(Qt::DisplayRole).toInt();//this integer determines the (new) parent of Item
oldparentItem = static_cast<QStandardItem *>(item->parent()); //cast parent in order to use QStandardItem::takeChild
if(oldparentItem){
oldparentItem->takeChild(item->row(),item->column());//remove (but do not delete) Item from model to avoid double entry
}
if( parentid >0 ) { //ParentKeys has been declared earlier as QMap<int,QStandardItem*> ParentKeys
main->ParentKeys.value(parentid)->setChild(0,item); //Asign child to new parent
} else {
parentItem->setChild(0,item); //no parentid was found = assign to rootItem
}
}
}
To copy to clipboard, switch view to plain text mode
Bookmarks