PyQt:QTreeView中的可编辑QFileSystemModel

2 投票
1 回答
4849 浏览
提问于 2025-04-17 10:32

我在我的文件系统中遇到了这样的情况:

 - myFolder
      - mySubFolder
  1. 我在树形视图中展开了文件夹“myFolder”
  2. 然后我把它重命名为“myFolder_2”
  3. 最后,我尝试把文件夹“mySubFolder”重命名为“mySubFolder_2”

但是“mySubFolder_2”不再被视为一个文件夹,而是变成了未知状态,大小显示为-1字节,并且我收到了这个消息:QFileSystemWatcher: 无法添加路径:myFolder

这是我的源代码:

from PyQt4 import QtGui
import sys

app = QtGui.QApplication(sys.argv)
treeView = QtGui.QTreeView()
fileSystemModel = QtGui.QFileSystemModel(treeView)
fileSystemModel.setReadOnly(False)
treeView.setModel(fileSystemModel)
folder = "."
treeView.setRootIndex(fileSystemModel.setRootPath(folder))
treeView.show()
end = app.exec_()

任何帮助都非常欢迎。

1 个回答

0

在你给树形视图设置路径之前,首先需要在模型上设置根路径:

import sys
from PyQt4 import QtGui

app = QtGui.QApplication(sys.argv)
treeView = QtGui.QTreeView()
fileSystemModel = QtGui.QFileSystemModel(treeView)
fileSystemModel.setReadOnly(False)
root = fileSystemModel.setRootPath('.')
treeView.setModel(fileSystemModel)
treeView.setRootIndex(root)
treeView.show()
app.exec_()

撰写回答