问题标签 [qfilesystemmodel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
qt - 如何使用 QTreeView 和 QFileSystemModel 仅显示具有特定文件的文件夹?
我在使用 QTreeView 和 QFileSystemModel 过滤特定文件夹时遇到问题。
我将我的根 QFileSystemModel 设置为一个特定的文件夹 - 这有效。但我只想显示包含.jpg
文件的文件夹。这可能吗?
我过滤.jpg
文件并且有效,但我的 QTreeView 显示所有文件夹,即使是那些没有.jpg
文件的文件夹。因此,如果用户尝试打开某个没有.jpg
文件的文件夹,则不会发生任何事情。
如何隐藏这些文件夹?
注意:下面有部分代码。
qt - 使用 QFileDialog 自定义 QFIleSystemModel
我目前正在实现一个项目系统,该系统使用存档而不是目录来保存子文件。我保留了一个保存项目虚拟文件系统的数据结构,并根据需要将其写出来。
我现在正在尝试为这个虚拟文件系统实现图形前端,我想使用 QFileDialog 来“保存”到虚拟文件系统。
我做了一些研究,看来我需要继承 QFileSystemModel 或实现代理模型。后者似乎更适合修改现有的排序和过滤模型,而我想完全替换它,所以我认为这不是一个好的选择。我翻阅了 QFileSystemModel 的源代码,它似乎也很难重新利用。我是 Qt 模型/视图新手,所以我可能会弄错。
将 QFileDialog 重新用于虚拟文件系统的正确方法是什么?我认为这至少会有所记录,因为我可以想到几种可能有用的场景。
如果有人能指出我正确的方向,我将非常感激。
python - QFileSystemModel 未检测到 Python 生成的文件更改
使用 PyQt 和 Python 我遇到了以下问题:
- 设置一个 QFileSystemModel,调用 setRootPath() 并连接到 dataChanged 信号。
- 从 Python 打开一个新文件并在其中写入一些文本。然后关闭它。
- 以追加模式重新打开文件并在其中写入更多文本。然后关闭它。
- 在外部编辑器中打开文件。写点东西。节省。多写点东西。节省。
如果您执行 (3),则不会发出 dataChanged 信号。但是,如果您执行 (4),则会发出 dataChanged 信号。
有什么线索吗?下面包含一个重现该问题的代码片段。
此致,
麦兹
以下是一些更一般的观察:
基本问题是 QFileSystemModel 显然没有以正确的方式监视文件更改:
案例 1(Ubuntu):
1) 在后台运行脚本作为 'python fsm.py &' 2) 在启动脚本的同一目录中启动 Python 提示符 3) 键入:
当调用 open() 时,QFileSystemModel 检测到新文件。但是,没有检测到由 f.write() 和 f.close() 引起的文件修改。
案例 2(Ubuntu):
1)当脚本'fsm.py'仍在运行时,使用一些外部编辑器(gedit,emacs等)打开一个新文件2)写一些东西并保存
在这种情况下,新文件和修改都会被检测到。这是我不明白的第一件事。为什么没有检测到 Python IO 但来自编辑器的 IO 是?
案例 3(Ubuntu):
使用 Ubuntu:我启动 Nautilus 文件浏览器并重复案例 1-2 中的步骤 1-3。然后 nautilus 检测到新文件和修改。所以那里 Python 生成的 IO 被监控,但显然是使用 GNOME 文件监控系统。
案例 1(Windows 7):
相同的行为。
案例 2(Windows 7):
如果使用记事本或写字板,则不会检测到文件修改。如果使用 GVim 7.3,则会检测到文件修改。
案例 3(Windows 7):
启动本机 Windows 7 文件浏览器,检测到案例 1-2 中的所有模块。
你能理解这个吗?
qt - QFileSystemModel 排序 DirsFirst
您如何使用 QDir::DirsFirst 对 QFileSystemModel 进行排序,就像在 QDirModel 中一样?QFileSystemModel 没有setSorting
方法。
qt - 如何在 QFileSystemModel 上隐藏文件扩展名
我已将 QFileSystemModel 绑定到 QTreeView。QFileSystemModel 已将 readOnly 设置为 false,因此用户可以重命名文件...但是我不希望用户意外重命名文件并忘记其扩展名,因为这将导致其从 QTreeView 中排除,因为我正在过滤文件类型...
如何隐藏保持重命名功能的文件扩展名?
谢谢
qt - 如何排除 QFileSystemModel 中的目录?
我使用此代码。
我不明白如何排除某些文件夹。
c++ - QTreeView - 删除某些元素的可扩展外观
我想删除 QTreeView 中某些元素的可扩展属性(填充从 QFileSystemModel 继承的模型)。我可以在它们展开后轻松折叠这些元素,但它们在 QTreeView 中仍然可见为可展开的。我怎样才能将它们显示为不可扩展的?
c++ - QFileSystemModel setRootPath
我正在尝试创建一个显示文件夹内容的 Qt 应用程序(Mac OS 中的“用户”文件夹)。这是代码:
我也尝试使用此代码
当我运行应用程序时,它不显示“/Users”文件夹的内容,而是显示根驱动器(注意:不是驱动器的内容)。该文件夹确实存在,我也尝试使用其他文件夹。
python - 如何在 PyQt 中禁用 QTreeView 和 QFileSystemModel 上的双击文件重命名行为?
简单的问题。我想使用 F2 或 Enter 进行重命名,然后双击打开文件。
使用self.treeView.doubleClicked.connect(self.doubleclick)
I can do things 在我的self.doubleClick
方法中,但仍然会触发重命名。
该模型不是只读的 ( model.setReadOnly(False)
)。
c++ - Qt代理模型使用示例
我正在使用 Qt 4QFileSystemModel
和QTreeView
. 我正在编写一个类似于文件管理器的 Windows 资源管理器,并希望创建一个更类似于 Windows 的树,其中树包含一些快捷路径,如桌面、我的文档。我唯一想要的就是让一棵树看起来像这样:
- 我的电脑
- 桌面
- 我的文件
- C:\
- D:\
- ...
听说可以用QAbstractProxyModel
. 有没有人使用QAbstractProxyModel
并让它工作?如果是,请提供任何适当的示例。提前致谢。