pyqt5 QTreeWiget删除节点的问题

# 错误示范:
root_idx = ui_obj.tree_wgt.topLevelItemCount()
for i in range(0, root_idx):
    item = ui_obj.tree_wgt.topLevelItem(i)

    # 没有父级元素,直接删除
    if item.parent() is None:
        print(i)
        ui_obj.tree_wgt.takeTopLevelItem(i) # 主要看这里
    else:
        item.parent().takeChild(i) 
# 会发现只删除了第一个元素
#正确示范
for i in range(0, root_idx):
    # 删除节点,是实时的,所以永远删除第一个节点,相当于从list中pop
    ui_obj.tree_wgt.takeTopLevelItem(0) # 主要看这里

猜你喜欢

转载自www.cnblogs.com/nahaohao/p/12653458.html