Spec-Zone.ru › Qt 5.13

Класс QTemporaryDir

Класс QTemporaryDir создает уникальную директорию для временного использования. Подробнее...

Заголовок: #include <QTemporaryDir>
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().

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.13/qtemporarydir.html

Spec-Zone.ru

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