What is the proper way to rebuild QTreeWidget hierachy



  • In my application I need to be able to rebuild QTreeWidget hierarchy. Conceptually, I need to remove all tree nodes following some number of top level nodes and then add their replacements. I am confused how I need to use existing APIs to do the removal in order to achieve what I need.

    I started by coding something like
    @for( QTreeWidgetItem * item = tree.topLevelItem(3); item != nullptr; item = tree.topLevelItem(3) )
    tree.removeItemWidget(item);
    @
    but quickly discovered that this loop never terminates. Subsequently I replaced the code with
    @for( QTreeWidgetItem * item = tree.takeTopLevelItem(3); item != nullptr; item = tree.takeTopLevelItem(3) )
    delete item;
    @
    This seems to produce desired effects on the screen. Can someone confirm that (a) this is a way I am expected to do it and (b) I am expected to delete no longer needed QTreeWidgetItems myself.


Log in to reply
 

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