[CLOSED] Qtreeview multilevel child auto select



  • how to implement a recursive function to auto select all the children of a root item inside QTreeview model and then give user, the ability to deselect each one he wishes!
    Note: each child also can have children. deselect occurs one by one.

    below code selects all the children successfully but i don't know how to implement deselect !!

    @QObject::connect(ui->trvView, SIGNAL(clicked(QModelIndex)), this, SLOT(itemSelected(QModelIndex)));@

    @void TrustChain::itemSelected(QModelIndex index)
    {
    QModelIndex childIndex;
    if(!index.isValid())
    {
    return;
    }

    selectedItem = chainModel->itemFromIndex(index);
    if(!selectedItem)
    {
        return;
    }
    
    ui->trvView->selectionModel()->select(index, QItemSelectionModel::Select);
    for(int i = 0; i < selectedItem->rowCount(); i++)
    {
        childIndex = chainModel->index(i, 0, index);
        ui->trvView->selectionModel()->select(childIndex, QItemSelectionModel::Select);
        itemSelected(childIndex);
        while (selectedItem->parent() != 0)
        {
            selectedItem = selectedItem->parent();
        }
    }
    

    }@


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.