函数名

    //获取保存的文件
static QString getSaveName(const QString &filter, QString defaultDir = QCoreApplication::applicationDirPath());
//获取选择的文件
static QString getFileName(const QString &filter, QString defaultDir = QCoreApplication::applicationDirPath());
//非阻塞保存文件对话框
static QString saveFileName(const QString &filter, const QString &defaultDir = "", const QString &fileName = "");
//获取选择的文件集合
static QStringList getFileNames(const QString &filter, QString defaultDir = QCoreApplication::applicationDirPath());
//获取选择的目录
static QString getFolderName(); //获取文件名,含拓展名
static QString getFileNameWithExtension(const QString &strFilePath);
//获取选择文件夹中的文件
static QStringList getFolderFileNames(const QStringList &filter); //文件夹是否存在
static bool folderIsExist(const QString &strFolder);
//文件是否存在
static bool fileIsExist(const QString &strFile);
//复制文件
static bool copyFile(const QString &sourceFile, const QString &targetFile);
//删除文件夹下所有文件
static void deleteDirectory(const QString &path);

函数体

QString QUIHelper::getSaveName(const QString &filter, QString defaultDir)
{
return QFileDialog::getSaveFileName(0, "选择文件", defaultDir, filter);
} QString QUIHelper::getFileName(const QString &filter, QString defaultDir)
{
return QFileDialog::getOpenFileName(0, "选择文件", defaultDir, filter);
} QString QUIHelper::saveFileName(const QString &filter, const QString &defaultDir, const QString &fileName)
{
QString file;
QFileDialog dialog;
dialog.setFixedSize(900, 600);
dialog.setWindowModality(Qt::WindowModal);
dialog.setWindowTitle("保存文件");
dialog.setLabelText(QFileDialog::Accept, "保存(&S)");
dialog.setLabelText(QFileDialog::Reject, "取消(&C)");
dialog.selectFile(fileName);
dialog.setNameFilter(filter);
dialog.setDirectory(defaultDir); if (dialog.exec() == 1) {
file = dialog.selectedFiles().value(0);
file = QFileInfo(file).suffix().isEmpty() ? "" : file;
} return file;
} QStringList QUIHelper::getFileNames(const QString &filter, QString defaultDir)
{
return QFileDialog::getOpenFileNames(0, "选择文件", defaultDir, filter);
} QString QUIHelper::getFolderName()
{
return QFileDialog::getExistingDirectory();
} QString QUIHelper::getFileNameWithExtension(const QString &strFilePath)
{
QFileInfo fileInfo(strFilePath);
return fileInfo.fileName();
} QStringList QUIHelper::getFolderFileNames(const QStringList &filter)
{
QStringList fileList;
QString strFolder = QFileDialog::getExistingDirectory(); if (!strFolder.length() == 0) {
QDir myFolder(strFolder); if (myFolder.exists()) {
fileList = myFolder.entryList(filter);
}
} return fileList;
} bool QUIHelper::folderIsExist(const QString &strFolder)
{
QDir tempFolder(strFolder);
return tempFolder.exists();
} bool QUIHelper::fileIsExist(const QString &strFile)
{
QFile tempFile(strFile);
return tempFile.exists();
} bool QUIHelper::copyFile(const QString &sourceFile, const QString &targetFile)
{
bool ok;
ok = QFile::copy(sourceFile, targetFile);
//将复制过去的文件只读属性取消
ok = QFile::setPermissions(targetFile, QFile::WriteOwner);
return ok;
} void QUIHelper::deleteDirectory(const QString &path)
{
QDir dir(path);
if (!dir.exists()) {
return;
} dir.setFilter(QDir::AllEntries | QDir::NoDotAndDotDot);
QFileInfoList fileList = dir.entryInfoList(); foreach (QFileInfo fi, fileList) {
if (fi.isFile()) {
fi.dir().remove(fi.fileName());
} else {
deleteDirectory(fi.absoluteFilePath());
dir.rmdir(fi.absoluteFilePath());
}
}
}

Qt通用方法及类库10的更多相关文章

  1. DataTable数据赋值给Model通用方法

    注:该文属本人原创,今后项目中发现该方法存在BUG会实时更新,转载记得附上原文出处,方便大家获得最新代码. 相信大家在做项目中,经常会根据不同的表new各种不同的Model,当需要对Model进行实例 ...

  2. 带毫秒的字符转换成时间(DateTime)格式的通用方法

    C#自身有更好的方式,Net任意String格式转换为DateTime类型 ====================================================== 原文 ==== ...

  3. 使用 highchart 绘制柱状图的通用方法与接口

    本文给出使用 highchart 绘制柱状图的通用方法与接口, 只要指定相应的数据结构和配置, 就可以直接拿来使用. 一.  数据结构与基本接口   一般绘制图形, 会涉及到较复杂的数据结构, 比如使 ...

  4. 使用JsPlumb绘制拓扑图的通用方法

    转自:http://www.it165.net/pro/html/201311/7616.html 使用JsPlumb绘制拓扑图的通用方法 一. 实现目标 绘制拓扑图, 实际上是个数据结构和算法的问题 ...

  5. 使用 JsPlumb 绘制拓扑图的通用方法

    摘要: 实现 JsPlumb 绘制拓扑图的通用方法. 只要服务端返回一个符合指定格式的数据结构,就可以绘制相应的拓扑图. 难度: 中级 示例工程见:  http://download.csdn.net ...

  6. JDBC工具类 访问数据库 增删改查CRUD的通用方法

    1 package com.zmh.util; 2 3 import java.sql.*; 4 import java.util.ArrayList; 5 import java.util.Hash ...

  7. 学习集合Collection_通用方法

    Collection 常用接口 集合List和Set通用的方法 public boolean add(E e) 添加对象到集合 public boolean remove(E e) 删除指定元素 pu ...

  8. Object 通用方法

    Object 通用方法 概览 public final native Class<?> getClass() public native int hashCode() public boo ...

  9. 使用java泛型设计通用方法

    泛型是Java SE 1.5的新特性, 泛型的本质是参数化类型, 也就是说所操作的数据类型被指定为一个参数. 因此我们可以利用泛型和反射来设计一些通用方法. 现在有2张表, 一张user表和一张stu ...

  10. .NET基础架构方法—DataTableToExcel通用方法

    p { display: block; margin: 3px 0 0 0; } --> .NET架构基础方法—DataTableToExcel通用方法(NPOI) 今天封装DataTaleTo ...

随机推荐

  1. 9. JS的数据类型,区别

    js 有2大数据类型分类 : 基本数据类型: 1. string 字符串 使用单.双引号包裹,或者使用反引号包裹 2. number 数字类型 3. boolean 布尔值 true false 4. ...

  2. OpenAI官方开源多智能体框架「Swarm」,并不是我想要的多智能体框架

    今天早上,OpenAI实施团队的 @shyamal在Github上开源了Swarm这个OpenAI官方的多智能体框架.不得不说,OpenAI官方下场,获得的社区影响就是不一样,在微信群.朋友圈里已经出 ...

  3. 网络应用模型的经典分类:C/S 与 P2P

    网络应用无处不在,从我们日常使用的社交媒体到远程文件传输,网络应用模型是支撑这些通信和服务的基础架构.通常,这些网络应用根据其结构原理可以被大致划分为两大类:C/S(Client/Server)模型和 ...

  4. Machine Learning Week_1 Linear Algebra Review 7-12

    目录 4.7 Video: Matrix Matrix Multiplication unfamiliar words unfamiliar words in transcript 4.8 Readi ...

  5. Octave 安装教程

    Octave 用心写著. Octave为GNU项目下的开源软件.同时它也是一种语言,专注于解决线性计算问题.因为对于矩阵计算的优化,使得其速度远高于循环计算.语法兼容Linux shell. Octa ...

  6. VMware安装Ubuntu操作系统 2024.9.27

    1.安装 Ubuntu的官方网站是:https://www.ubuntu.com/download 点进去可以直接下载 文件下载会比较慢,我这点用了约5分钟 然后就可以打开vmware,选择: 就可以 ...

  7. 解读Karmada多云容器编排技术,加速分布式云原生应用升级

    本文分享自来源:<华为云DTSE>第五期开源专刊,作者:任洪彩 华为云高级软件工程师,Karmada社区Maintainer.   管理和协调跨多个云平台的容器化应用是当前企业面临的复杂性 ...

  8. UML 基础:类图

    这是关于统一建模语言.即UML 里采用的基本图的一系列文章的一部分.在我 先前关于序列图的文章 里,我把重点从 UML 1.4 版,转移到 OMG的采用UML 2.0版草案规范(又称为UML 2).在 ...

  9. Spring Data JPA自动生成表时列顺序混乱的解决办法(最新版)

    最近把Spring Boot的版本升级到了3.3.5,突然发现一个问题:当使用Spring Data JPA自动生成表的时候,所产生的列顺序与Entity类中的变量顺序不一致了.比如,有一个下面这样的 ...

  10. 修改data数据后页面未更新渲染

    只需添加 this.$forceUpdate() 在修改数据后执行即可 this.$forceUpdate()