Qt文件选择复制另存为
自己开发了一个股票软件,功能很强大,需要的点击下面的链接获取:
自研股票智能分析报警软件更新链接 - 一字千金 - 博客园
QT文件选择复制和另存为
目录
1 选择文件... 1
2 另存为... 2
1 选择文件
从电脑选择文件到程序中进行处理,可以设置文件的路径
函数名称
static QStringList getOpenFileNames(QWidget *parent = Q_NULLPTR,
const QString &caption = QString(),//窗口名称
const QString &dir = QString(),//文件夹路径
const QString &filter = QString(),//选择类型过滤器
QString *selectedFilter = Q_NULLPTR,
Options options = Options());
示例
QStringList fileNameList = QFileDialog::getOpenFileNames(this, tr("添加图片"), m_strDefaultPicPath, tr("Images(*.png *.jpeg *.jpg *.bmp *.tif *.tiff *.PNG *.JPEG *.JPG *.BMP *.TIF *.TIFF)"));
2 另存为
将程序中展示的本地图片另存为到另外一个路径下。应用场景,例如我将视频中的人脸截图都显示在程序界面,需要选择其中嫌疑犯的图片然后保存到另外一个文件夹作为档案存储起来。如下图所示
实现实例
(1) 选择要保存的路径
//选择保存的文件路径
QFileDialog fileDialog;
QString strTargetFile = fileDialog.getExistingDirectory(this, tr("选择保存路径"), m_strDefaultPicPath);
QDir dir(strTargetFile);
if (!dir.exists())
{
SlotError(-1, "请选择需要保存文件夹路径");
return-1;
}
(2)用一个Qt线程类实现文件的复制
因为文件数量比较大时,复制文件比较耗时,用主线程复制文件会造成界面卡顿,所以采用线程的方式复制文件。
#ifndef COPYFILETHREAD_H #define COPYFILETHREAD_H#include <QThread>class CopyFileThread : public QThread {Q_OBJECTpublic:CopyFileThread();~CopyFileThread();int StartCopyFile(QStringList& listSourcefile,QString strTargetPath);void run();private:QStringList m_listSourcefile;QString m_strTargetPath = ""; };#endif // COPYFILETHREAD_H
源文件
#include "CopyFileThread.h" #include<QFileInfo> CopyFileThread::CopyFileThread() {}CopyFileThread::~CopyFileThread() {}int CopyFileThread::StartCopyFile(QStringList & listSourcefile, QString strTargetPath) {m_listSourcefile = listSourcefile;m_strTargetPath = strTargetPath;this->start();return 0; }void CopyFileThread::run() {QString strSourcePath = "";QString strTargetPath = "";for (int i=0;i<m_listSourcefile.size();i++){strSourcePath = m_listSourcefile[i];QFileInfo file(strSourcePath);if (!file.exists()){continue;}strTargetPath = m_strTargetPath + "/" + file.fileName();QFile::copy(strSourcePath, strTargetPath);//从源路径将文件复制到目标路径} }
Qt文件选择复制另存为相关推荐
- C#文件选择和另存为
文件选择: var openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "Txt Files (.txt)|.txt ...
- qt文件选择控件_Qt编写的项目作品2-控件属性设计器(组态)
一.功能特点 自动加载插件文件中的所有控件生成列表,默认自带的控件超过120个. 拖曳到画布自动生成对应的控件,所见即所得. 右侧中文属性栏,改变对应的属性立即应用到对应选中控件,直观简洁,非常适合小 ...
- qt文件选择对话框 linux,Linux下QT实现自定义对话框以及设置模态和非模态对话框...
最近使用QT做毕业设计,其中用到了对话框,但系统默认的对话框不能满足我的需求,于是决定自己来封装一个,这需要根据QT提供的QDialog基类来建立,以下附上头文件及实现文件,已测试通过. #ifnde ...
- Qt——txt文件选择、读取与写入
文件选择 #include <QFileDialog> QString fileName = QFileDialog::getOpenFileName(this,tr("选择日志 ...
- 计算机系统如何禁止删除文件,电脑禁止安装删除文件 禁止复制电脑文件的方法...
在企业局域网中,员工上班都会用到电脑,工作中形成的一些重要文件也都直接存储在单位的电脑或服务器上,如何保护这些文件的安全就显得至关重要.尤其是,当员工不小心或故意删除文件的情况下,或者他人恶意删除文件 ...
- android防拷贝防复制,局域网如何防止文件被复制拷贝
操作也非常简单,点击顶部的"请选择要保护或取消保护的文件或文件夹",然后选择要赋予的共享文件访问权限,只需要打勾就可以赋予用户访问共享文件的权限,不打勾则就不赋予,并在右侧选择访问 ...
- 文件服务器防止资料拷贝,局域网如何防止文件被复制、禁止复制文件、如何防止文件拷贝的方法...
当前,很多企事业单位都组建了自己的内部局域网,同时也常常会在局域网搭建文件服务器,并且会将文件服务器的文件共享给局域网用户使用.同时,为了大家协同办公和资料保存的需要,通常会设置共享文件访问权限,一般 ...
- 复制一个文件或者从一个资源获取一个文件并复制
/*** 复制一个文件或者从一个资源获取一个文件并复制* @param unknown_type $source 一个文件名或者一个资源,如$source='http://dctest.jub.cn/ ...
- 如何使 highchart图表标题文字可选择复制
highchart图表的一个常见问题是不能复制文字 比如官网的某个图表例子,文字不能选择,也无法复制,有时产品会抓狂... 本文给出一个简单的方案,包括一些解决的思路,希望能帮助到有需要的人 初期想了 ...
最新文章
- 手把手教你如何成为大牛
- Android进阶:六、在子线程中直接使用 Toast 及其原理
- 手把手教你构建WPF官方开源框架源代码
- ckeditor与ckfinder的使用方法 .NET (转载)
- phpcmsV9 QQ互联 相关文件配置成功 - 总结篇
- 高效实用Kafka-入门介绍
- 微信小程序|开发实战篇之十一---商品页面和购物车页面
- div横向滚动条_14. Selenium 处理滚动条
- 体验引擎:游戏设计全景探秘
- 链接了dpdk的进程启动core在 Illegal instruction
- 第四章 可靠的请求-应答模式
- Oracle数据库的下载地址
- trnsys and matlab 联合仿真常见错误解决方案
- 研究生做实验时被炸伤致残!法院判决:驳回高校上诉,赔偿162万!
- 自学c语言从哪开始,C语言从何开始学习
- macbook开机密码输入正确,却提示“密码错误”无法登陆解决办法
- 关于esxtop命令下%RUN、%RDY和%MLMTD三个参数的详细解读
- 微机原理 单片机笔记
- wordpress谷歌字体_适用于WordPress网站的10种性能最高的Google AdSense标语尺寸和格式
- 0057-在OpenCV环境下使用KNN背景建模提取前景目标