Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
src_corelib_io_qdirlisting.cpp
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
3
4#include <QDirListing>
5
6using namespace Qt::StringLiterals;
7
8[[maybe_unused]] static void func() {
9{
11using ItFlag = QDirListing::IteratorFlag;
12for (const auto &dirEntry : QDirListing(u"/etc"_s, ItFlag::Recursive)) {
13 qDebug() << dirEntry.filePath();
14 // /etc/.
15 // /etc/..
16 // /etc/X11
17 // /etc/X11/fs
18 // ...
19}
21}
22
23{
25using ItFlag = QDirListing::IteratorFlag;
26QDirListing dirList(u"/sys"_s, QStringList{u"scaling_cur_freq"_s},
27 QDir::NoFilter, ItFlag::Recursive);
28for (const auto &dirEntry : dirList) {
29 QFile f(dirEntry.filePath());
31 qDebug() << f.fileName() << f.readAll().trimmed().toDouble() / 1000 << "MHz";
32}
34}
35
36{
38QDirListing audioFileIt(u"/home/johndoe/"_s, {"*.mp3", "*.wav"}, QDir::Files);
40}
41
42{
44using ItFlag = QDirListing::IteratorFlag;
45for (const auto &dirEntry : QDirListing(u"/etc"_s, ItFlag::Recursive)) {
46 // Faster
47 if (dirEntry.fileName().endsWith(u".conf")) { /* ... */ }
48
49 // This works, but might be potentially slower, since it has to construct a
50 // QFileInfo, whereas (depending on the implemnetation) the fileName could
51 // be known already
52 if (dirEntry.fileInfo().fileName().endsWith(u".conf")) { /* ... */ }
53}
55}
56
57{
59using ItFlag = QDirListing::IteratorFlag;
60for (const auto &dirEntry : QDirListing(u"/etc"_s, ItFlag::Recursive)) {
61 // Both approaches are the same, because DirEntry will have to construct
62 // a QFileInfo to get this info (for example, by calling system stat())
63
64 if (dirEntry.size() >= 4'000 /* 4KB */) { /* ...*/ }
65 if (dirEntry.fileInfo().size() >= 4'000 /* 4KB */) { /* ... */ }
66}
68}
69
70}
The QDirListing class provides an STL-style iterator for directory entries.
Definition qdirlisting.h:18
IteratorFlag
This enum class describes flags can be used to configure the behavior of QDirListing.
Definition qdirlisting.h:20
@ Files
Definition qdir.h:23
@ NoFilter
Definition qdir.h:46
\inmodule QtCore
Definition qfile.h:93
\inmodule QtCore
#define qDebug
[1]
Definition qlogging.h:164
GLfloat GLfloat f
QDirIterator audioFileIt(audioPath, {"*.mp3", "*.wav"}, QDir::Files)
[1]
static void func()