网站首页 > 博客文章 正文
概述
在 Qt 开发中,有时候会要创建一个临时目录,用于存储一些临时文件,在用完过后又要删除该目录,这个逻辑自己实现起来并不复杂,多写几行代码就搞定了,但是这里要说的是更简单的用法QTemporaryDir。
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()可以找到临时目录的路径。
成员函数
QString errorString() const
如果isValid()返回false,则此函数返回错误字符串,该错误字符串解释了为什么创建临时目录失败。否则,这个函数返回一个空字符串。
QString filePath(const QString &fileName) const
返回临时目录中文件的路径名称。不检查文件是否确实存在于目录中。冗余多重分隔符或“。” 和fileName中的“..”目录不会被删除。
bool isValid() const
判断生成的临时目录是否有效。
QString path() const
返回临时目录的路径。如果无法创建QTemporaryDir,则为空。
bool remove()
删除临时目录,包括其所有内容,并返回删除状态。
void setAutoRemove(bool b)
如果b为真,则将QTemporaryDir设置为自动删除模式。
自动删除模式默认开启。
示例
通过一个简单的示例来看一下效果。
m_pBtn = new QPushButton("click me",this);
m_pBtn->resize(100,70);
m_pBtn->move(200,200);
connect(m_pBtn,&QPushButton::clicked,this,[=](){
QTemporaryDir dir;
if(dir.isValid()){
qDebug() << "temp dir = " << dir.path();
}
});
创建一个按钮,每次点击按钮后创建于一个临时目录。结果如下:
temp dir = "/var/folders/85/5wz9791x1kd0c_t53kk562_m0000gn/T/QFileSystemWatcherTest-KiGg4g"
temp dir = "/var/folders/85/5wz9791x1kd0c_t53kk562_m0000gn/T/QFileSystemWatcherTest-b1BFXX"
temp dir = "/var/folders/85/5wz9791x1kd0c_t53kk562_m0000gn/T/QFileSystemWatcherTest-U8U51n"
可以看到每次创建的临时目录都是不同的。
点击领取Qt学习资料+视频教程~
链接:http://docs.qq.com/doc/DUlVwTW1FZlZuWE9G
- 上一篇: Qt5控件编程:下拉列表框QComboBox控件使用
- 下一篇: QT小技巧(qt快速入门教程)
猜你喜欢
- 2024-09-08 Qt 贪吃蛇制作(含源码)(qt编写贪吃蛇)
- 2024-09-08 qt 提示“启动程序失败,路径或者权限错误?”解决方法
- 2024-09-08 电脑文件不小心删除了怎么办?两个方法教你秒恢复
- 2024-09-08 Qt——内存回收(qti内存)
- 2024-09-08 C++跨平台库QT学习 操作Excel(跨平台c++开发工具)
- 2024-09-08 Qt 工程 pro文件(qt工程文件.pro在哪儿找)
- 2024-09-08 Qt中的快捷键汇总(qtcreator快捷键)
- 2024-09-08 Qt中文乱码解决思路(vscode终端中文乱码怎么解决)
- 2024-09-08 Qt5+VS2015编程实例:下拉列表框QComboBox控件使用
- 2024-09-08 Qt编程进阶(87):基于HTTP协议的网络文件下载
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)