QTreeWidget设置某个Item不可收缩,其余正常收缩
时间: 2024-04-12 21:28:28 浏览: 20
要设置`QTreeWidget`中的特定项不可折叠,您可以使用`setItemFlags()`方法来设置项的标志。下面是一个示例:
```python
treeWidget = QTreeWidget()
rootItem = QTreeWidgetItem(treeWidget)
rootItem.setText(0, "Root")
treeWidget.addTopLevelItem(rootItem)
childItem1 = QTreeWidgetItem(rootItem)
childItem1.setText(0, "Child 1")
rootItem.addChild(childItem1)
childItem2 = QTreeWidgetItem(rootItem)
childItem2.setText(0, "Child 2")
rootItem.addChild(childItem2)
# 设置子项可收缩
childItem1.setFlags(childItem1.flags() | Qt.ItemIsDropEnabled | Qt.ItemIsUserCheckable | Qt.ItemIsEnabled | Qt.ItemIsTristate)
# 设置另一个子项不可收缩
childItem2.setFlags(childItem2.flags() | Qt.ItemIsUserCheckable | Qt.ItemIsEnabled | Qt.ItemIsTristate)
childItem2.setFlags(childItem2.flags() & ~Qt.ItemIsDropEnabled)
# 设置根节点展开
treeWidget.setExpanded(rootItem, True)
```
在上面的示例中,我们创建了一个`QTreeWidget`和两个子项`childItem1`和`childItem2`,然后将它们添加到根节点`rootItem`中。然后,我们使用`setItemFlags()`方法设置