在QTreeWidget类实例的树型部件中,可以根据文本、搜索列以及匹配模式来搜索满足条件的项,调用语法:
list[QTreeWidgetItem] findItems( str text, Qt.MatchFlags flags, int column = 0)
返回值为所有满足条件的项构成的列表,如果没有找到匹配项,返回空列表。
Qt.MatchFlags的取值及含义请参考《PyQt(Python+Qt)学习随笔:Model/View中的枚举类 Qt.MatchFlag的取值及含义》。
示例代码:
对如下树型部件搜索类型为NTFS的项:
findItems = self.treeWidget.findItems('NTFS1',QtCore.Qt.MatchContains,1)
print(type(findItems),findItems)
for item in findItems:print(item.text(0),':',item.text(1))
输出结果:
<PyQt5.QtWidgets.QTreeWidgetItem object at 0x00000000031E2F78> <PyQt5.QtCore.QModelIndex object at 0x00000000034F7048> 0
<class 'list'> [<PyQt5.QtWidgets.QTreeWidgetItem object at 0x00000000031E2C18>, <PyQt5.QtWidgets.QTreeWidgetItem object at 0x00000000031E2EE8>, <PyQt5.QtWidgets.QTreeWidgetItem object at 0x00000000034F5318>]
c: : NTFS
d: : NTFS
e: : NTFS