问题标签 [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.

0 投票
1 回答
2709 浏览

qt - QFileSystemModel 隐藏某些文件

我正在寻找的与 QFileSystemModel::setNameFilters() 几乎相反。我想设置过滤器来捕捉我不想显示的东西,但让其他所有东西都通过。我看不到任何方法可以通过和隐藏某些文件,因为 remove() 实际上会从系统中删除文件。

我该怎么做?

编辑澄清:我有一个我不想显示的特定文件名列表。

0 投票
1 回答
587 浏览

c++ - 将 QFileSystemModel 的功能用于任意文件列表(不是目录)?

我已经为 UNIX 定位命令创建了一个前端。现在我只是将定位输出中的文件名提供给 QListWidget。从文档来看,QFileSystemModel 似乎更适合显示文件名(它自动显示图标,使用单独的线程来获取图标,因此主线程不会变得无响应)。

但它似乎只显示来自某个目录的文件。但是,我的文件可以来自不同的目录。我可以将文件添加到 QFileSystemModel 还是只显示单个目录的内容?

0 投票
2 回答
7066 浏览

qt - 默认选择 qlistview 中的第一项

谁能告诉我每次单击一个项目时如何设置 qlistview 的第一项?我正在使用 qfilesystemmodel 和 qListView。基本上我希望模型显示的第一个项目默认被选中。

0 投票
1 回答
1205 浏览

qt - 调用 QFileSystem::setNameFilters 后文件仍然显示

我只是做了一个关于使用 QFileSystemModel 和 QListView 显示文件/目录的简单示例。它工作正常。我想过滤我定义的某些类型的文件。

我不想显示的文件,例如 test.doc,仍在列表视图中,但无法选择。这不是我想要的。我想把它隐藏起来。如何?

谢谢。

0 投票
2 回答
9208 浏览

qt - 基于 QML 的 Qt 文件浏览器

使用 QFileSystemModel 很容易实现文件浏览器。但是listview UI 并不漂亮。所以我想用QML实现一个文件浏览器。QML 具有模型/视图支持。但是如何在 QML 中显示文件系统树呢?任何线索将不胜感激。

0 投票
1 回答
297 浏览

qt - Qt MVC - 用户点击时获取文件名?

好的,我有以下代码:

如何找出已选择的项目(特别是其相应的文件名)?我希望用户使用鼠标选择一个文件,以便可以将所选文件名传递给我拥有的方法。

0 投票
2 回答
11725 浏览

qt - Qt:使用 QListView 和 QFileSystemModel 浏览文件系统。如何突出显示文件夹中的第一项?

我正在一个没有键盘/鼠标的系统上做主题所说的事情,所以我需要“从代码”中完成这项工作。当我更改 QListView 的 RootIndex 时,我想突出显示第一行。

这是我制作的一个小型测试项目的 mainwindow.cpp:

在这个例子中,LightItUp 1-3 做我想做的事,但 LightItUp4 没有。如果我交换 2 和 4 中的文件夹,它们都无法执行我想要的操作,而 1 和 3 仍然可以工作。我怀疑我对如何使用这个模型/视图有误解,但不知道是什么。

编辑:创建了一个更简单的示例,其中提到了@buck 的错误检查。请参阅源代码中的注释。

我认为当我在模型上执行 setRootPath(rp),然后将视图设置为使用模型时,如果我正确设置索引,视图应该能够在 rp 的所有子文件夹中移动。我将重读关于 Model/View、QListView 和 QFileSystemModel 的 Qtdocs,但我想发布这个以防有人了解正在发生的事情。

0 投票
1 回答
1487 浏览

qt - QFileSystemModel 和 QFileSystemWatcher 从磁盘中删除

我有一个通过重新实现 QFileSystemModel 填充的 QTreeView。据我所知,QFileSystemModel 在 rootPath 上安装了一个 QFileSystemWatcher。我正在尝试做的是在我的程序中通知在 rootPath 上直接删除文件但我没有找到任何信号或重新实现的函数来为我提供该信息。

我的应用程序通过 ftp 连接上传了一些文件,当文件完全上传后,我将其从该位置删除,因此当文件被直接删除(而不是从删除方法或类似方法)时,我希望从重新实现 QFileSystemModel 获得通知。

我希望你能帮助我。我在网上搜索了很多,但我找不到任何东西。

干杯。

0 投票
1 回答
1962 浏览

c++ - QFileSystemModel - 增量更新/抢先更新

来自 Qt 文档:

在调用 setRootPath() 之前,QFileSystemModel 不会获取任何文件或目录。这将防止在文件系统上进行任何不必要的查询,直到此时,例如在 Windows 上列出驱动器。

与 QDirModel(obsolete) 不同,QFileSystemModel 使用单独的线程来填充自身,因此在查询文件系统时不会导致主线程挂起。在模型填充目录之前,对 rowCount() 的调用将返回 0。QFileSystemModel 保存一个包含文件信息的缓存。缓存使用 QFileSystemWatcher 自动保持最新。

我将 QTreeView 与使用复选框的子类 QFileSystemModel 一起使用。
如果我QFileSystemModel::rowCount(index)在树中的项目展开之前调用,无论是否有任何子目录或文件,我都会收到“0”。然而,一旦它被扩展,当再次调用时就会给出正确的行数。

QFileSystemModel::rowCount我认为如果您调用 QFileSystemModel::setRootPath() 这将从指定的文件路径中获取数据,但在我调用下面的代码之前它似乎没有“执行得足够快”(缓存未更新) 。

在我尝试计算该文件夹中包含多少项目之前,有没有办法可以先发制人地收集子文件夹信息?

谢谢

0 投票
1 回答
133 浏览

c++ - 只为 QFileSystemModel 的第一列(驱动器、文件夹、文件)选择选择?

在 QFileSystemModel 中,当对其进行选择时,返回类型为QList<QModelIndex>. 有没有办法只选择第一列(包含驱动器、文件夹和文件的列)?