PyQt(Python+Qt)学习随笔:QTreeWidgetItem项的子项索引、删除子项的方法

树型部件QTreeWidget中的QTreeWidgetItem项:

  • 获取子项索引
    可通过indexOfChild(QTreeWidgetItem child)方法返回项下子项child的位置索引,索引值从0计数,如果child对应项未在当前项的子项中,则返回-1

  • removeChild删除子项
    removeChild是根据子项对象从项中删除子项,调用方法为removeChild(QTreeWidgetItem child),操作是从项中删除child对应子项,注意该方法无返回,如果对应子项不存在也不报错。
    注意:经老猿验证,PyQt没有精准验证child是否为当前项的子项,在部分验证情况下发现child不是当前项的子项也会被删除,以下为老猿的验证情况:

  1. child与当前项是兄弟节点
  2. child为当前项的父项(包括父项的父项…)
  3. child为当前项的父项的兄弟节点
  4. 如果child为当前项兄弟节点的子项则不会被删除。
  • takeChild删除并返回子项
    removeChild是根据子项对象从项中删除子项,但无返回,takeChild是根据子项的位置索引来删除子项,同时将删除的子项返回。调用方法为:
QTreeWidgetItem takeChild(int index)

如果执行失败,返回None。

  • takeChildren删除所有子项
    takeChildren()是将当前项的所有子项都删除,并将所有子项存储到一个列表中返回,如果当前项没有子项,则返回空列表。

老猿Python,跟老猿学Python!

原文地址:https://www.cnblogs.com/LaoYuanPython/p/12570514.html