pyqt5 QtreeView折叠所有
时间: 2024-12-14 10:15:38 浏览: 4
PyQt5 + MySQL简单示例
在PyQt5中,QTreeView是一个用于显示树形数据结构的控件。如果你想要折叠QTreeView中的所有节点,你可以使用`collapseAll()`方法。这个方法会递归地折叠每一级的子节点,使其隐藏起来,只显示顶级节点。
以下是一个简单的示例代码片段:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QTreeView, QDirModel
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建目录模型
self.model = QDirModel()
# 设置模型到QTreeView
view = QTreeView()
view.setModel(self.model)
# 展开根节点后折叠所有
self.view.expandAll() # 先展开所有
self.view.collapseAll() # 再折叠所有
if __name__ == "__main__":
app = QApplication([])
window = MyWindow()
window.show()
app.exec_()
```
在这个例子中,我们首先创建了一个QDirModel来模拟目录结构,然后设置到QTreeView上。通过先调用`expandAll()`打开所有节点,再调用`collapseAll()`关闭所有节点。
阅读全文