Skip to main content
 首页 » 编程设计

python之PyQt : Editable QFileSystemModel in a QTreeView

2025年05月04日11lovecherry

我的文件系统上有这个:

 - myFolder 
      - mySubFolder 
  1. 在 TreeView 中,我展开文件夹 “myFolder”。
  2. 然后我将其重命名为“myFolder_2”。
  3. 最后,我尝试将文件夹 “mySubFolder” 重命名为 “mySubFolder_2”。

“mySubFolder_2” 不再被视为文件夹,而是大小为 -1 字节的未知文件夹,我收到消息:QFileSystemWatcher:添加路径失败:< strong>我的文件夹。

这是我的源代码:

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_() 

欢迎任何帮助。

请您参考如下方法:

在 TreeView 上设置之前,您需要在模型上设置根路径:

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_()