QDir所有函数举例

QDir所有函数举例QDir 是 Qt 框架中的一个类 用于处理目录和文件路径 它提供了许多函数来操作和查询文件系统 以下是一些常用的 QDir 函数及其示例 1

大家好,欢迎来到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

(0)
上一篇 2025-03-17 11:45
下一篇 2025-03-17 12:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信