pyqt qtreeview增删改
时间: 2023-07-23 11:30:06 浏览: 95
treeview增删改查
4星 · 用户满意度95%
QTreeView 是 PyQt 中的一个常用控件,用于显示树形结构的数据。下面是一个简单的示例代码,演示如何在 QTreeView 中进行增删改操作:
```
# 导入必要的模块
from PyQt5.QtWidgets import QApplication, QMainWindow, QTreeView, QFileSystemModel, QAbstractItemView
from PyQt5.QtCore import QModelIndex
# 创建主窗口
app = QApplication([])
window = QMainWindow()
# 创建 QTreeView 控件
tree_view = QTreeView(window)
tree_view.setEditTriggers(QAbstractItemView.DoubleClicked) # 允许双击编辑
tree_view.setHeaderHidden(True) # 隐藏列头
# 创建 QFileSystemModel 模型
model = QFileSystemModel()
model.setRootPath("") # 设置根目录为当前目录
tree_view.setModel(model)
# 添加根节点
root_index = model.index(model.rootPath())
model.insertRow(0, root_index)
model.setData(root_index.child(0, 0), "Root Node")
# 添加子节点
child_index = model.index(0, 0, root_index)
model.insertRow(0, child_index)
model.setData(child_index.child(0, 0), "Child Node")
# 修改节点
model.setData(child_index.child(0, 0), "New Child Node")
# 删除节点
model.removeRow(0, child_index)
# 显示窗口
window.setCentralWidget(tree_view)
window.show()
app.exec_()
```
在这个示例代码中,我们首先创建了一个 QTreeView 控件和一个 QFileSystemModel 模型。然后,我们添加了一个根节点和一个子节点,并进行了修改和删除操作。最后,我们将 QTreeView 控件设置为窗口的中心控件,并显示窗口。
需要注意的是,QTreeView 控件的编辑触发器默认为双击,因此我们需要调用 `setEditTriggers` 方法将其设置为双击。
另外,QFileSystemModel 模型是一个特殊的模型,用于显示文件系统的目录结构。在这个示例中,我们将其用于演示如何在 QTreeView 中进行增删改操作。如果您需要使用自定义的模型,可以根据您的需求进行相应的修改。
阅读全文