我正在实现一个工作区,通过使用QTreeView显示工作区文件夹中的文件。工作区本身是一个由QTreeView和QFileSystemModel和QMenu构建的对象(一旦用户右键单击,菜单将显示为复制粘贴等等)
我有几个QWidgets位于选项卡中,每个选项卡还包含一个工作区obj(它们不是单个对象,工作区obj多次创建,每个选项卡包含一个)。
我实现了复制粘贴,删除等。一切都很好,除了一个案例: 一旦文件夹展开并显示其内容,即使我将其折叠也无法删除。我必须重新启动程序并删除该文件夹而不进行浏览。 如果浏览文件夹,我试图删除它。它一直显示访问被拒绝信息。我试图使用os.chmod来更改权限。但是,它不允许我这样做并且还显示访问被拒绝。此外,不仅删除它,我不能复制它等等。
我认为原因可能是我创建了多个工作区对象并且它们彼此冲突,当我删除文件夹时,obj无法访问,因为其他人正在显示文件夹。但是,即使我只构建了一个工作空间obj并添加到带有制表符的布局中。它仍然显示相同的行为:一旦文件夹扩展,我就失去了许可。但是,如果文件夹没有扩展。我可以成功删除它。
有人可以帮我吗?谢谢!