当前位置: 首页 > news >正文

庙行网站建设网上购物软件排行榜

庙行网站建设,网上购物软件排行榜,罗湖平台网站建设费用,如何制作个人网页最简单的方法开发平台#xff1a;Win10 64位 开发环境#xff1a;Qt Creator 13.0.0 构建环境#xff1a;Qt 5.15.2 MSVC2019 64位 一、需求及涉及相关类 在开发过程中#xff0c;或多或少的都会操作到文件#xff0c;比如配置文件#xff0c;日志等生成复制操作#xff0c;在Qt中… 开发平台Win10 64位 开发环境Qt Creator 13.0.0  构建环境Qt 5.15.2 MSVC2019 64位 一、需求及涉及相关类 在开发过程中或多或少的都会操作到文件比如配置文件日志等生成复制操作在Qt中实现文件夹的操作创建、复制、重命名、移除的类主要是这三个QDir、QFile、QFileInfo。 QDir主要是对文件夹的操作新建个文件夹删除个文件夹判断文件夹存不存在等功能QFile主要是对文件进行操作读写比如判断每个文本文件存不存在船舰一个文本文件之类的功能。QFileInfo兼顾文件夹和文件的操作既可以实现QDir判断文件夹存不存在等操作也可以实现QFile判断文件存不存在的操作。从名字上面也可以知道它还提供了对文件的更详细的操作。 本篇文章更多的是对文件夹的操作后续会更新对文件QFile的操作。 二、QDir QDir类主要用于对文件夹的操作在文件系统的开发中用的比较对比如我们在win10中常用的在某某盘创建个文件夹复制某个文件夹到其他盘或者其他文件夹下。对于qt开发上面这些操作都离不开QDir类。 QString QDir::path(); // 获取目录的路径QStringList QDir::entryList(); // 获取目录中条目的名称列表void QDir::setPath(const QString path); // 给 QDir 设置一个新路径bool QDir::cd(const QString dirName); // 进入到指定目录bool QDir::cdUp(); // 进入到父目录 cdUp() 等效于 cd(..)bool QFileInfo::exists(); // 测试指定目录是否存在bsolutePath(); // 获取目录的绝对路径QString QDir::dirName(); // 获取目录名通常返回绝对路径中的最后一个元素如果 QDir 代表当前目录会返回“.”bool QDir::mkdir(const QString dirName); // 创建一个目录bool QDir::rename(const QString oldName, const QString newName); // 重命名bool QDir::rmdir(const QString dirName); // 删除目录删除文件用 remove()isReadable(); // 测试目录的属性是否可读isRoot(); // 测试目录的属性是否是根目录void QDir::refresh(); // 重新读取目录的数据uint QDir::count(); // 返回目录中的所有条目数QFileInfoList QDir::entryInfoList(); // 获取一个 QFileInfo 对象的列表bool QDir::isRelative(); // 判断 QDir 是否使用相对路径bool QDir::isAbsolute(); // 判断 QDir 是否使用绝对路径bool QDir::makeAbsolute(); // 将一个相对路径转换为绝对路径 注意filePath()及absoluteFilePath()来获得QDir中指定文件的路径名但这两个函数均不检查指定的文件是否存在 2.1 新建文件夹 MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui-setupUi(this);/********************///dirName:需要带路径或者前面加一个/,如果只是111的化没什么效果QString dirNamef://111;QString dirName/111;//会生成在项目所在的磁盘的第一级目录下CreateFolder(dirName);/********************/ }//创建文件夹 void MainWindow::CreateFolder(QString folderPath) {//创建文件夹QDir dir(folderPath);if (!dir.exists()){dir.mkdir(folderPath);} } 2.2 复制文件夹中内容 MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui-setupUi(this);/********************/QString sourceDir/111;QString desDir/222;CreateFolder(sourceDir);copyFolder(sourceDir,desDir,true);/********************/}///将源文件夹中的内容复制到目标文件夹中并不是把源文件一起复制过去 ///比如上面将111文件夹复制222文件夹并不会在222文件夹下面出现111文件夹 ///而是出现111文件夹中的东西 /// \brief MainWindow::copyFolder /// \param fromDir--源目录 /// \param toDir--目标目录 /// \param coverFileIfExist--如果存在是否覆盖 /// \return bool /// bool MainWindow::copyFolder(const QString fromDir, const QString toDir, bool coverFileIfExist) {QDir sourceDir(fromDir);QDir targetDir(toDir);if (!targetDir.exists()){ //如果目标目录不存在则进行创建if (!targetDir.mkdir(targetDir.absolutePath())) return false;}QFileInfoList fileInfoList sourceDir.entryInfoList();foreach(QFileInfo fileInfo, fileInfoList){if (fileInfo.fileName() . || fileInfo.fileName() ..) continue;if (fileInfo.isDir()){ // 当为目录时递归的进行copyif (!copyFolder(fileInfo.filePath(),targetDir.filePath(fileInfo.fileName()),coverFileIfExist))return false;}else{ //当允许覆盖操作时将旧文件进行删除操作if (coverFileIfExist targetDir.exists(fileInfo.fileName())){targetDir.remove(fileInfo.fileName());}// 进行文件拷贝if (!QFile::copy(fileInfo.filePath(), targetDir.filePath(fileInfo.fileName()))){return false;}}}return true; } 2.3 重命名文件夹 MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui-setupUi(this);/********************/QString sourceDir/111;QString desDir/222;QString newDir/1;CreateFolder(sourceDir);copyFolder(sourceDir,desDir,true);RenameFolder(sourceDir,newDir);/********************/}/// /// \brief MainWindow::RenameFolder /// \param oldPath--原来文件夹路径 /// \param newPath--需要修改的文件夹路径这个路径其实就是把最后一级换个名字 /// void MainWindow::RenameFolder(const QString oldPath, const QString newPath) {//重命名文件夹QDir dirOld(oldPath);dirOld.rename(oldPath, newPath); } 2.4 移除文件夹 MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui-setupUi(this);/********************/QString sourceDir/111;QString desDir/222;QString newDir/1;CreateFolder(sourceDir);copyFolder(sourceDir,desDir,true);RenameFolder(sourceDir,newDir);RemoveFolder(sourceDir);RemoveFolder(desDir);RemoveFolder(newDir);/********************/}/// \brief MainWindow::RemoveFolder /// \param dirPath /// void MainWindow::RemoveFolder(const QString dirPath) {//移除文件夹QDir dirItem(dirPath);dirItem.removeRecursively(); }注意其中在文件夹及文件的操作中要明确一些变量名比如filename或者filepath这种其实只要明白我们给文件夹及文件的参数是路径地址就可以。 三、参考文献 3.1 QT中QFile、QFileInfo、QDir的常用函数_qt qfileinfo函数-CSDN博客 3.2  QDir类及其用法总结-CSDN博客
http://www.pierceye.com/news/726065/

相关文章:

  • 什么事网站开发网站服务器租用报价
  • 做黏土的网站青岛网站建设微动力
  • 建网站权威公司广告发布平台
  • 自助游网站开发分析报告总结怎么注册公司微信公众号
  • 网站开发公司业务员培训黄聪wordpress
  • 网站规划与建设ppt模板下载响应式网站模板费用
  • 江苏商城网站建设服务网站建设优化石家庄
  • 高师院校语言类课程体系改革与建设 教学成果奖申报网站wordpress 4.8.2 漏洞
  • 以小说名字做网站的小说网wordpress的数据库主机
  • 永嘉高端网站建设价格h5页面制作多少钱
  • 北京网站建设课程培训WordPress分类id在哪
  • 宁夏网站备案青岛专业网站建设公司
  • 廊坊营销网站团队佛山市创意动力信息科技有限公司
  • 怎么学习做网站网络公司 网站建设
  • 网站权重怎么提升网站开发多线程开发
  • wordpress下拉列表沈阳网站排名优化
  • 非自己的网站如何做二次跳转免费建英文网站
  • 广州建筑集团网站企业大型网站开发网站模板设计
  • 漯河网站推广多少钱做调查网站的问卷哪个给的钱高
  • 局域网下怎么访问自己做的网站做网站时如何将前端连接到后台
  • 网页设计与网站建设考试名词解释长治县网站建设
  • 商务网站建设实训报告总结南京太阳宫网站建设
  • 网站建设合同缴纳印花税吗建设企业网站官网登录
  • 石家庄网站开发多少钱做网站和做程序一样吗
  • cpa项目怎么做必须有网站么百度快速收录3元一条
  • 建造网站 备案产品推广文案100字
  • 希腊网站后缀昆山网站推广
  • 企业网站模板seo个人网站制作成品图片
  • 政务网站群建设需求调研表网站优化方案基本流程
  • 那个网站做调查问卷能赚钱架设一个网站