QTemporaryDir 类
QTemporaryDir 类可创建用于临时用途的唯一目录。 更多...
头文件 | #include <QTemporaryDir> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake | QT += core |
- 所有成员列表,包括继承成员
- QTemporaryDir 是输入/输出和网络的一部分。点击查看.
注意:本类中所有函数都是可重入的.
公共函数
QTemporaryDir() | |
QTemporaryDir(const QString &templatePath) | |
(since 6.4) | QTemporaryDir(QTemporaryDir &&other) |
~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) |
(since 6.4) void | swap(QTemporaryDir &other) |
(since 6.4) QTemporaryDir & | operator=(QTemporaryDir &&other) |
详细描述
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()
使用由QCoreApplication::applicationName() 返回的应用程序名称(否则为 qt_temp
)作为模板来构造一个 QTemporaryDir。该目录存储在系统临时目录中,QDir::tempPathLOWER()。
另见 QDir::tempPathLOWER()。
[explicit]
QTemporaryDir::QTemporaryDir(const QString &templatePath)
使用 templatePath 构造模板来构建一个 QTemporaryDir。
如果 templatePath 是一个相对路径,该路径将相对于当前工作目录。如果你想要使用系统的临时目录,可以使用 QDir::tempPathLOWER() 来构造 templatePath。
如果 templatePath 以 XXXXXX 结尾,它将用作目录名称的动态部分,否则它将被追加。与 QTemporaryFile 不同,模板字符串中间的 XXXXXX 不受支持。
另见 QDir::tempPathLOWER()。
[noexcept, since 6.4]
QTemporaryDir::QTemporaryDir(QTemporaryDir &&other)
从 other 中移动构造一个新的 QTemporaryDir。
注意:移动的源对象 other 处于一个部分构建状态,此时唯一有效的操作是销毁或为新值赋值。
此功能自 Qt 6.4 以来已引入。
[noexcept]
QTemporaryDir::~QTemporaryDir()
销毁临时目录对象。如果设置了自动删除模式,它将自动删除目录及其全部内容。
另见 autoRemoveLOWER()。
bool QTemporaryDir::autoRemove() const
如果 QTemporaryDir 处于自动删除模式,则返回 true
。自动删除模式将在销毁时自动从磁盘删除目录。这使得在栈上创建你的 QTemporaryDir 对象,填充文件,使用文件,最后在函数返回时自动清理本身变得非常容易。
默认启用自动删除。
另见 setAutoRemoveLOWER() 和 removeLOWER()。
QString QTemporaryDir::errorString() const
如果 isValidLOWER() 返回 false
,此函数返回解释为什么无法创建临时目录的错误字符串。否则,此函数返回空字符串。
QString QTemporaryDir::filePath(const QString &fileName) const
返回临时目录中文件的路径名称。不考虑该文件是否实际存在于目录中。在 fileName 中不删除冗余的多重分隔符或 "." 和 ".." 目录(见 QDir::cleanPathLOWER())。不允许使用绝对路径。
bool QTemporaryDir::isValid() const
如果 QTemporaryDir 已成功创建,则返回 true
。
QString QTemporaryDir::path() const
返回临时目录的路径。如果无法创建QTemporaryDir,则为空。
bool QTemporaryDir::remove()
删除临时目录及其所有内容。
如果删除成功,则返回 true
。
void QTemporaryDir::setAutoRemove(bool b)
如果b为真,则将QTemporaryDir设置为自动删除模式。
默认启用自动删除。
另请参阅autoRemove() 和 remove()。
[noexcept, since 6.4]
void QTemporaryDir::swap(QTemporaryDir &other)
将临时目录other与当前临时目录交换。此操作非常快速且从不失败。
此功能自 Qt 6.4 以来已引入。
[noexcept, since 6.4]
QTemporaryDir &QTemporaryDir::operator=(QTemporaryDir &&other)
将other移动分配到当前QTemporaryDir实例。
注意:移动的源对象 other 处于一个部分构建状态,此时唯一有效的操作是销毁或为新值赋值。
此功能自 Qt 6.4 以来已引入。
© 2024 Qt 公司有限。此处包含的文档贡献拥有各自所有者的版权。提供的文档是按照GNU自由文档许可证版本1.3的条款授予的,由自由软件基金会发布。Qt及其相应标识是芬兰的Qt公司和/或在其他国家和地区注册的商标。所有其他商标均为其各自所有者的财产。