By the way, does the internal structure of yours have any kind of identifier numbers or something like that? Or how did you plan to match corresponding items anyway? One possibility for solving this in a quick and dirty way is to abuse QTreeWidgetItem::setData() with Qt::UserRole to identify which item corresponds which part of the internal structure.