PyQt: редактируемая QFileSystemModel в QTreeView
У меня есть это в моей файловой системе:
- myFolder
- mySubFolder
- В TreeView я расширяю папку "myFolder".
- Затем я переименую его в "myFolder_2".
- И наконец я пытаюсь переименовать папку "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 ответ
Вам необходимо установить корневой путь для модели перед установкой его в древовидном представлении:
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_()