大家好,欢迎来到IT知识分享网。
`QDir` 是 Qt 框架中的一个类,用于处理目录和文件路径。它提供了许多函数来操作和查询文件系统。以下是一些常用的 `QDir` 函数及其示例:
1. 构造函数
– `QDir(const QString &path = QString())`
“`cpp
QDir dir(“/home/user”);
“`
2. 设置和获取路径
– `void setPath(const QString &path)`
“`cpp
dir.setPath(“/home/user/Documents”);
“`
– `QString path() const`
“`cpp
QString currentPath = dir.path();
“`
3. 获取目录名称
– `QString dirName() const`
“`cpp
QString name = dir.dirName(); // 返回 “Documents”
“`
4. 检查目录是否存在
– `bool exists() const`
“`cpp
if (dir.exists()) {
qDebug() << “目录存在”;
}
“`
5. 创建目录
– `bool mkdir(const QString &dirName) const`
“`cpp
if (dir.mkdir(“NewFolder”)) {
qDebug() << “目录创建成功”;
}
“`
6. 删除目录
– `bool rmdir(const QString &dirName) const`
“`cpp
if (dir.rmdir(“NewFolder”)) {
qDebug() << “目录删除成功”;
}
“`
7. 获取目录下的文件和子目录
– `QStringList entryList(const QStringList &nameFilters, Filters filters = NoFilter, SortFlags sort = NoSort) const`
“`cpp
QStringList files = dir.entryList(QStringList() << “*.txt”, QDir::Files);
foreach (QString file, files) {
qDebug() << file;
}
“`
8. 获取当前工作目录
– `static QString currentPath()`
“`cpp
QString currentDir = QDir::currentPath();
“`
9. 设置当前工作目录
– `static bool setCurrent(const QString &path)`
“`cpp
if (QDir::setCurrent(“/home/user”)) {
qDebug() << “当前工作目录设置成功”;
}
“`
10. 获取目录的绝对路径
– `QString absolutePath() const`
“`cpp
QString absPath = dir.absolutePath();
“`
11. 获取目录的规范路径
– `QString canonicalPath() const`
“`cpp
QString canonPath = dir.canonicalPath();
“`
12. 检查路径是否为相对路径
– `bool isRelative() const`
“`cpp
if (dir.isRelative()) {
qDebug() << “路径是相对路径”;
}
“`
13. 获取父目录
– `QDir parent() const`
“`cpp
QDir parentDir = dir.parent();
“`
14. 获取根目录
– `QDir root()`
“`cpp
QDir rootDir = dir.root();
“`
15. 获取目录下的所有文件和子目录
– `QFileInfoList entryInfoList(Filters filters = NoFilter, SortFlags sort = NoSort) const`
“`cpp
QFileInfoList entries = dir.entryInfoList(QDir::AllEntries | QDir::NoDotAndDotDot);
foreach (QFileInfo entry, entries) {
qDebug() << entry.fileName();
}
“`
16. 重命名目录或文件
– `bool rename(const QString &oldName, const QString &newName)`
“`cpp
if (dir.rename(“oldName.txt”, “newName.txt”)) {
qDebug() << “重命名成功”;
}
“`
17. 获取目录的驱动器号(Windows)
– `QString rootPath() const`
“`cpp
QString root = dir.rootPath(); // 返回 “C:/”
“`
18. 获取目录的路径分隔符
– `static QChar separator()`
“`cpp
QChar sep = QDir::separator(); // 返回 ‘/’
“`
19. 获取目录的过滤器
– `Filters filter() const`
“`cpp
QDir::Filters filters = dir.filter();
“`
20. 设置目录的过滤器
– `void setFilter(Filters filter)`
“`cpp
dir.setFilter(QDir::Files | QDir::Hidden);
“`
这些函数可以帮助你轻松地操作和查询文件系统中的目录和文件。根据你的需求,你可以选择适合的函数来完成特定的任务。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/173670.html