问题标签 [qdir]
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 - QDir::makeAbsolute() 怎么会失败?
文档QDir::makeAbsolute()
说
将目录路径转换为绝对路径。如果它已经是绝对的,则不会发生任何事情。
true
如果转换成功则返回;否则返回false
。
我不清楚从相对路径创建绝对路径是如何失败的。
当然,不能保证一个目录实际上会存在于该绝对路径中,但在大多数情况下,QDir
API 并不关心目录是否存在,所以如果它在这里所做的事情我会感到惊讶.
qt - Qt:如何找到路径的最近的现有祖先,它本身可能存在也可能不存在
激励例子:
在之前的会话中,应用程序已经存储了用户选择的一些路径。与此同时,该路径可能已被删除、移动、重命名或驱动器已卸载。应用程序现在想让用户通过 a 浏览路径,
QFileDialog
并且为了用户的方便,之前的路径作为文件对话框的起始目录传递,因为新路径可能在旧路径附近。不幸的是,如果QFileDialog
给定一个不存在的起始路径,它默认为当前工作目录,这不太可能对用户有帮助,因为它通常是应用程序的安装目录。所以我们想预处理旧路径以指向一个实际存在的目录,然后再将其传递给
QFileDialog
. 如果旧路径不存在,我们想用最近的目录替换它。
那么如何获取文件路径(可能存在也可能不存在)并“向上”搜索该路径,直到找到文件系统中实际存在的东西?
c++ - Qt:remove() 和 rmdir() 有什么区别
“rmdir”似乎是用来删除目录的,但我也成功地用“remove”删除了目录。拥有“rmdir”而“remove”可以做同样的工作有什么意义?
python - 通过 QValidator 验证可编辑的 QCombobox 输入是否是目录
在将可编辑的 QCombobox 输入添加到 QCombobox 之前,我尝试验证它是否是目录。
遗憾的是,它不能正常工作,因为当我按 Enter 时,每个输入仍会添加到组合框中。有什么建议么?
编辑:我也尝试在 QLineEdit 上使用验证器,如下所示:
也不行。
编辑:它有点工作......但是当我按下返回时“hasFocus”仍然是True,所以它只是接受输入,然后当然将它添加到组合框中。如果我去掉“if self._input.hasFocus():”如果我输入它不接受任何输入......只要粘贴一个完整的目录路径。所以我需要一种检查编辑是否完成然后检查它是否是目录的方法。据我了解,我只能通过 QValidator 在组合框中检查它......因为它会立即将输入添加到框中......在我可以以任何方式拦截它之前。
编辑:我确实为我的情况找到了解决方案。我只是放弃了整个验证器方法。这样做的目的是防止组合框在没有有效目录的情况下创建新项目......我现在所做的是在完成后通过利用 QLineEdit().editingFinished() 信号来验证输入. 创建新项目后,如果输入无效,我将再次删除它,并且它还让我有机会添加一个错误弹出窗口,告诉用户输入不是目录。
c++ - QT 如何使用 QDirIterator 访问子目录中的特定目录?
我有数千个文件要通过这样的目录结构:
我有三个月的数据要处理,我需要访问 Target 文件夹,并且只需要到达 Target 文件夹。它们包含我们需要查看的文件,而其他一些文件夹也包含我们不需要查看的 .hdr 文件。
起初,我使用了一个QDirIterator
例如:
然而,在运行我的程序后,我意识到这.hdr
也会抓取其他文件,我不需要处理这些文件。这是我编写的可以找到所有.hdr
文件的代码:
如何遍历目录但只获取目标文件夹中的文件?
c++ - 无法在服务器 2008 qt QDirIterator 中返回文件路径
我想查看驱动器的整个路径,我是在 Windows 8 和 9 上完成的,路径显示正确。
但是在 Windows 2003 和 2008 中,路径不显示,这是什么问题?我的代码
图片应用
c++ - 是否存在在 EntryList() 中使用过滤器的更简单方法?
我是 Qt 的新手。我的目录中有两种类型的文件。首先,我需要使用一种类型,然后使用另一种类型。我决定将 EntryList() 与“ .png”和“ .txt”等名称过滤器一起使用,并且效果很好。
但是这种方法需要使用 QStringList() 类型的过滤器作为输入。所以我想知道我能不能用更简单的方式来做,因为我不会多次使用这个过滤器,所以我不想在我的记忆中保留另一个列表。
我现在如何做到这一点:
或者:
PS在这里找不到有用的信息:https ://doc.qt.io/qt-5/qdir.html#entryList
qt - QDir::SortFlag 成员在 QML 中可用
如何使 QDir::SortFlag 的成员可用于 QML 脚本?例如,如何使用 QDir::SortFlag 枚举或 QDir::SortFlags 的成员从 QML 脚本中填充组合以选择某种排序标准?这是否仅可通过自定义类中的某些 C++ 自定义枚举获得?
c++ - 如何在 C++ 中调用 QDir 库?
我在我的电脑中下载了 qt 并将 QDir 称为#include<QDir>
. 但它提出了错误fatal error: QDir: No such file or directory
。无论如何使用 QDir 而不创建 .pro 文件?
我试图创建一个 .pro 文件:
但它不起作用
c++ - 当设置了 QDir::NoSort 标志时,QDir::entryList() 对文件进行排序
我有一个存储一些图像的本地目录。图片被命名为“1.JPG”、“2.JPG”、“3.JPG”等。当我通过资源管理器查看它们时,它们在名称中按升序排序,即“1.JPG”排在第一位, “2.jpg”是第二个,“3.JPG”是第三个,等等。
现在我想将该目录中的所有文件名上传到QStringList
我的应用程序中。它是这样完成的:
imagesToMerge
a在哪里QStringList
,我想包含所有文件名;
问题是,当我查看此列表时(qDebug()
例如,使用
- “1.JPG”
- “10.JPG”
“11.JPG”
...
- “9.JPG”
这不是我想要的行为。
我尝试在 中设置QDir::NoSort
标志QDir::entryList()
,但没有任何影响。
有没有办法让这个函数按照我想要的方式运行?如果没有,有没有其他方法?
提前致谢!