Spec-Zone.ru › Qt 6.0

Класс 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API