PyQt:QTreeView 中可编辑的 QFileSystemModel

发布于 2024-12-27 17:07:25 字数 810 浏览 0 评论 0原文

我的文件系统上有这个:

 - myFolder
      - mySubFolder
  1. 在 TreeView 中,我展开文件夹“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_()

欢迎任何帮助。

I've got this on my file System :

 - myFolder
      - mySubFolder
  1. Within the TreeView I expand the folder "myFolder".
  2. Then I rename it as "myFolder_2".
  3. And finaly I try to rename the folder "mySubFolder" as "mySubFolder_2".

"mySubFolder_2" in is no more considered as a folder but as unknown with a size of -1 bytes and I've got the message : QFileSystemWatcher: failed to add paths: myFolder.

Here is the my source code :

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

Any help will be welcome.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

何止钟意 2025-01-03 17:07:25

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

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

You need to set the root path on the model before setting it on the 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_()
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文