Ваша проблема в том, что вызов packList->clear()
удаляет элементы виджета дерева, содержащиеся в дереве. (См. Документацию о QTreeWidget::clear()
, которая включает примечание об элементах, удаляемых из дерева перед удалением.) Вам нужно будет либо найти способ удалить элементы, либо не вести список их отдельно от дерева .
Если заметить, что вы немного связаны, если вы пытаетесь отслеживать другие данные вместе с деревом, я бы порекомендовал вам использовать парадигму моделей. В нетривиальных случаях обычно стоило потратить время на то, чтобы перейти на эту технику, а не использовать виджеты / элементы.