Not sure that I understand what you are trying to achieve, but I think to get anything to show up in your treeWidget you to need to either reparent the items or copy them.

Reparent:
Qt Code:
  1. void showItems(A* a){
  2. Item* top = a->root();
  3. while (top->childCount() > 0){
  4. Item *child = top->takeChild(0);
  5. addTopLevelItem(child);
  6. }
  7. }
To copy to clipboard, switch view to plain text mode 
Copy:
Qt Code:
  1. void showItems(A* a){
  2. Item* top = a->root();
  3. for(int i=0;i<top->childCount();++i) {
  4. Item *child = new Item(*top->child(i));
  5. addTopLevelItem(child);
  6. }
  7. }
To copy to clipboard, switch view to plain text mode