qt treeview 点击空白区域时 选中项可以失焦
时间: 2023-11-12 20:09:40 浏览: 115
treeview的点击事件
3星 · 编辑精心推荐
您可以通过在TreeView的mousePressEvent()事件中,检查鼠标点击位置是否在项上,如果不在项上,则清除选中项。以下是一个示例实现:
```python
class MyTreeView(QtWidgets.QTreeView):
def __init__(self, parent=None):
super().__init__(parent)
def mousePressEvent(self, event):
index = self.indexAt(event.pos())
if not index.isValid():
self.clearSelection()
else:
super().mousePressEvent(event)
```
在这个示例中,我们首先调用了`QTreeView`的`mousePressEvent()`方法,以确保它可以执行其原始行为。然后,我们使用`indexAt()`方法获取鼠标点击位置的索引。如果索引无效,则说明单击了空白区域,因此我们清除了所有选中项。否则,我们调用父类的`mousePressEvent()`方法来处理该项的选中。
阅读全文