Класс QTemporaryDir
Класс QTemporaryDir создаёт уникальную директорию для временного использования. Подробнее...
| Заголовок: | #include <QTemporaryDir> |
| qmake: | QT += core |
Примечание: Все функции в этом классе являются взаимоисключающими.
Публичные функции
| QTemporaryDir() | |
| QTemporaryDir(const QString &templatePath) | |
| ~QTemporaryDir() | |
| bool | autoRemove() const |
| QString | errorString() 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.
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/archives/qt-5.6/qtemporarydir.html