QTreeWidget中的子项可以通过点击左侧三角和双击展开,但是需要双击实现其他功能又想保留双击展开时,就需要重写展开的方式。
直接上代码:
self.treeWidget.itemDoubleClicked['QTreeWidgetItem*','int'].connect(self.function)
首先给QTreeWidget变量绑定双击响应的函数。
def function(self, item, column):
if item.isExpanded():
self.treeWidget.currentItem().setExpanded(True)
else:
self.treeWidget.currentItem().setExpanded(False)
使用QTreeWidgetItem的 isExpanded() 判断所双击的子项是否展开,若子项未展开,返回值为 False 。
使用 currentItem() 获取双击选中的子项,调用QTreeWidgetItem的 setExpanded() 方法将子项展开,反之将其收起。
注:使用 setExpanded() 方法展开子项时,参数应使用 False ,需要将子项收起时,使用 True。