Класс QTemporaryDir
Класс QTemporaryDir создаёт уникальную директорию для временного использования. Подробнее...
| Заголовок: | #include <QTemporaryDir> |
| CMake: | find_package(Qt6 COMPONENTS Core REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
Примечание: Все функции в этом классе являются реентерабельными.
Открытые функции
| QTemporaryDir(const QString &templatePath) | |
| QTemporaryDir() | |
| ~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.
Пример:
// 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(const QString &templatePath)
Конструирует QTemporaryDir с шаблоном templatePath.
Если templatePath — относительный путь, то путь будет относительным к текущей рабочей директории. Вы можете использовать QDir::tempPath() для построения templatePath, если хотите использовать системную временную директорию.
Если templatePath заканчивается на XXXXXX, она будет использована как динамическая часть имени директории; в противном случае она будет добавлена. В отличие от QTemporaryFile, XXXXXX посредине строки шаблона не поддерживается.
См. также QDir::tempPath().
QTemporaryDir::QTemporaryDir()
Конструирует QTemporaryDir, используя в качестве шаблона имя приложения, возвращаемое QCoreApplication::applicationName() (в противном случае qt_temp). Директория сохраняется в системной временной директории, QDir::tempPath().
См. также QDir::tempPath().
QTemporaryDir::~QTemporaryDir()
Уничтожает объект временной директории. Если был установлен режим автоматического удаления, директория и всё её содержимое будут автоматически удалены.
См. также autoRemove().
bool QTemporaryDir::autoRemove() const
Возвращает true, если QTemporaryDir находится в режиме автоматического удаления. Режим автоматического удаления автоматически удаляет директорию с диска при уничтожении. Это значительно упрощает создание объекта QTemporaryDir на стеке, заполнение его файлами, выполнение операций с файлами и автоматическое очищение при возврате из функции.
Режим автоматического удаления включён по умолчанию.
См. также setAutoRemove() и remove().
[since 5.6] QString QTemporaryDir::errorString() const
Если isValid() возвращает false, эта функция возвращает строку ошибки, объясняющую, почему создание временной директории не удалось. В противном случае функция возвращает пустую строку.
Эта функция была добавлена в Qt 5.6.
[since 5.9] 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-6.0/qtemporarydir.html