7#include <QtCore/qcompare.h>
8#include <QtCore/qstring.h>
9#include <QtCore/qfile.h>
10#include <QtCore/qfileinfo.h>
11#include <QtCore/qstringlist.h>
12#include <QtCore/qshareddata.h>
26 AllEntries = Dirs | Files | Drives,
32 PermissionMask = 0x070,
41 CaseSensitive = 0x800,
44 NoDotAndDotDot = NoDot | NoDotDot,
69 SortFlags sort = SortFlags(
Name | IgnoreCase), Filters
filter = AllEntries);
71 QDir(
const std::filesystem::path &
path);
73 SortFlags sort = SortFlags(
Name | IgnoreCase), Filters
filter = AllEntries);
74#elif QT_CONFIG(cxx17_filesystem)
75 template<
typename T, QtPrivate::ForceFilesystemPath<T> = 0>
79 template<
typename T, QtPrivate::ForceFilesystemPath<T> = 0>
81 SortFlags sort = SortFlags(
Name | IgnoreCase), Filters
filter = AllEntries)
89 QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_PURE_SWAP(
QDir)
92 { d_ptr.swap(
other.d_ptr); }
96 void setPath(
const std::filesystem::path &
path);
97#elif QT_CONFIG(cxx17_filesystem)
98 template<
typename T, QtPrivate::ForceFilesystemPath<T> = 0>
99 void setPath(
const T &
path)
101 setPath(QtPrivate::fromFilesystemPath(
path));
107#if QT_CONFIG(cxx17_filesystem) || defined(Q_QDOC)
108 std::filesystem::path filesystemPath()
const
109 {
return QtPrivate::toFilesystemPath(
path()); }
110 std::filesystem::path filesystemAbsolutePath()
const
112 std::filesystem::path filesystemCanonicalPath()
const
116#ifndef QT_BOOTSTRAPPED
120 static void addSearchPath(
const QString &prefix,
const std::filesystem::path &
path);
121#elif QT_CONFIG(cxx17_filesystem)
122 template<
typename T, QtPrivate::ForceFilesystemPath<T> = 0>
123 static void addSearchPath(
const QString &prefix,
const T &
path)
125 addSearchPath(prefix, QtPrivate::fromFilesystemPath(
path));
139 bool cd(
const QString &dirName);
146 void setFilter(Filters
filter);
147 SortFlags sorting()
const;
148 void setSorting(SortFlags sort);
150#if QT_CORE_REMOVED_SINCE(6, 5)
154 bool isEmpty(Filters
filters = Filters(AllEntries | NoDotAndDotDot))
const;
156#if QT_CORE_REMOVED_SINCE(6, 5) && QT_POINTER_SIZE != 4
165 SortFlags sort = NoSort)
const;
169 SortFlags sort = NoSort)
const;
171 bool mkdir(
const QString &dirName)
const;
172 bool mkdir(
const QString &dirName, QFile::Permissions permissions)
const;
173 bool rmdir(
const QString &dirName)
const;
174 bool mkpath(
const QString &dirPath)
const;
175 bool rmpath(
const QString &dirPath)
const;
177 bool removeRecursively();
189#if QT_CORE_REMOVED_SINCE(6, 8)
229#if QT_CONFIG(regularexpression)
235 void refresh()
const;
240 QSharedDataPointer<QDirPrivate>
d_ptr;
249 const
QDirPrivate *d_func()
const {
return d_ptr.constData(); }
252Q_DECLARE_SHARED(
QDir)
256#ifndef QT_NO_DEBUG_STREAM
The QDirIterator class provides an iterator for directory entrylists.
The QDirListing class provides an STL-style iterator for directory entries.
bool isAbsolute() const
Returns true if the directory's path is absolute; otherwise returns false.
static bool isAbsolutePath(const QString &path)
Returns true if path is absolute; returns false if it is relative.
static QDir root()
Returns the root directory.
static QDir current()
Returns the application's current directory.
static QDir temp()
Returns the system's temporary directory.
QSharedDataPointer< QDirPrivate > d_ptr
static QChar separator()
Returns the native directory separator: "/" under Unix and "\\" under Windows.
static QDir home()
Returns the user's home directory.
SortFlag
This enum describes the sort options available to QDir, e.g.
Filter
This enum describes the filtering options available to QDir; e.g.
static constexpr QChar listSeparator() noexcept
\macro QT_RESTRICTED_CAST_FROM_ASCII
std::list< QString >::iterator Name
Combined button and popup list for selecting options.
#define Q_DECLARE_EQUALITY_COMPARABLE(...)
constexpr bool operator!=(const timespec &t1, const timespec &t2)
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char return DBusMessage dbus_bool_t return DBusMessage dbus_uint32_t return DBusMessage void
bool comparesEqual(const QDir &lhs, const QDir &rhs)
Q_CORE_EXPORT QDebug operator<<(QDebug debug, QDir::Filters filters)
#define Q_DECLARE_FLAGS(Flags, Enum)
#define Q_DECLARE_OPERATORS_FOR_FLAGS(Flags)
GLenum GLenum GLsizei count
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter
GLsizei const GLchar *const * path
static QT_BEGIN_NAMESPACE bool isRelative(const QString &path)
static QString absolutePath(const QString &path)
bool operator==(const QRandomGenerator &rng1, const QRandomGenerator &rng2)
static QString canonicalPath(const QString &rootPath)
static QString absoluteFilePath(const Options *options, const QString &relativeFileName)
return device isReadable() ? device -> read(static_cast< char * >(buf), size) :-1
static bool match(const uchar *found, uint foundLen, const char *target, uint targetLen)
#define QT6_DECL_NEW_OVERLOAD
static QString fromNativeSeparators(const QString &pathName)
settings remove("monkey")
dialog setNameFilters(filters)
const QStringList filters({"Image files (*.png *.xpm *.jpg)", "Text files (*.txt)", "Any files (*)" })
[6]