Класс QTemporaryDir
Класс QTemporaryDir создаёт уникальную директорию для временного использования. Подробнее...
| Заголовок: | #include <QTemporaryDir> |
| qmake: | QT += core |
Примечание: Все функции в этом классе являются реентерабельными.
Открытые функции
| QTemporaryDir() | |
| QTemporaryDir(const QString &templatePath) | |
| ~QTemporaryDir() | |
| bool | autoRemove() const |
| QString | errorString() const |
| QString | filePath(const QString &fileName) const |
| bool | isValid() const |
| QString | path() const |
| bool | remove() |
| void | setAutoRemove(bool b) |
Подробное описание
Класс QTemporaryDir создаёт уникальную директорию для временного использования.
QTemporaryDir используется для безопасного создания уникальных временных директорий. Директория создаётся конструктором. Имя временной директории гарантированно уникально (т.е. вы гарантированно не перезапишете существующую директорию), и директория будет удалена при уничтожении объекта QTemporaryDir. Имя директории генерируется автоматически или создаётся на основе шаблона, переданного в конструктор QTemporaryDir.
Пример:
// Within a function/method...
QTemporaryDir dir;
if (dir.isValid()) {
// dir.path() returns the unique directory path
}
// The QTemporaryDir destructor removes the temporary directory
// as it goes out of scope. Очень важно проверить, что временная директория была создана, используя isValid(). Не используйте exists(), так как объект QDir по умолчанию представляет текущую директорию, которая существует.
Путь к временной директории можно найти, вызвав path().
Временная директория будет иметь статическую часть имени и динамическую часть, вычисляемую для уникальности. Путь по умолчанию будет определяться из QCoreApplication::applicationName() (в противном случае qt_temp) и будет помещён во временный путь, возвращаемый QDir::tempPath(). Если вы указываете свой собственный путь, относительный путь по умолчанию не будет помещён во временную директорию, а будет относительным к текущей рабочей директории. Во всех случаях к пути будет добавлен случайный строковый фрагмент для его уникальности.
См. также QDir::tempPath(), QDir и QTemporaryFile.
Документация по членам-функциям
QTemporaryDir::QTemporaryDir()
Создаёт QTemporaryDir с использованием в качестве шаблона имя приложения, возвращаемое QCoreApplication::applicationName() (в противном случае qt_temp). Директория хранится во временной директории системы, QDir::tempPath().
См. также QDir::tempPath().
QTemporaryDir::QTemporaryDir(const QString &templatePath)
Создаёт QTemporaryDir с шаблоном templatePath.
Если templatePath является относительным путём, путь будет относительным к текущей рабочей директории. Можно использовать QDir::tempPath() для построения templatePath, если нужно использовать временную директорию системы.
Если templatePath оканчивается на XXXXXX, он будет использован как динамическая часть имени директории, иначе он будет добавлен. В отличие от QTemporaryFile, XXXXXX посредине шаблона строки не поддерживается.
См. также QDir::tempPath().
QTemporaryDir::~QTemporaryDir()
Уничтожает объект временной директории. Если был установлен режим автоматического удаления, директория будет автоматически удалена вместе со всем содержимым.
См. также autoRemove().
bool QTemporaryDir::autoRemove() const
Возвращает true если QTemporaryDir находится в режиме автоматического удаления. Режим автоматического удаления автоматически удаляет директорию с диска при уничтожении. Это упрощает создание объекта QTemporaryDir на стеке, заполнение его файлами, выполнение операций с файлами, а затем автоматическое очищение при возвращении из функции.
Автоудаление включено по умолчанию.
См. также setAutoRemove() и remove().
QString QTemporaryDir::errorString() const
Если isValid() возвращает false, эта функция возвращает строку ошибки, объясняющую, почему создание временной директории не удалось. В противном случае функция возвращает пустую строку.
Функция была введена в Qt 5.6.
QString QTemporaryDir::filePath(const QString &fileName) const
Возвращает имя пути к файлу во временной директории. Не проверяет, существует ли файл в директории. Избыточные двойные разделители или "." и ".." в fileName не удаляются (см. QDir::cleanPath()). Абсолютные пути не допускаются.
Функция была введена в Qt 5.9.
bool QTemporaryDir::isValid() const
Возвращает true если QTemporaryDir был создан успешно.
QString QTemporaryDir::path() const
Возвращает путь к временной директории. Пустая строка, если QTemporaryDir не удалось создать.
bool QTemporaryDir::remove()
Удаляет временную директорию, включая всё её содержимое.
Возвращает true если удаление прошло успешно.
void QTemporaryDir::setAutoRemove(bool b)
Устанавливает режим автоматического удаления QTemporaryDir, если b равно true.
Автоматическое удаление включено по умолчанию.
См. также autoRemove() и remove().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qtemporarydir.html