锦州北京网站建设,自媒体平台哪家好,计算机课程网站建设实训报告总结,好看的免费的小说网站模板一、文件操作类概述
QIODevice#xff1a;所有输入输出设备的基础类
QFile#xff1a;用于文件操作和文件数据读写的类QSaveFile#xff1a;用于安全保存文件的类QTemporaryFile#xff1a;用于创建临时文件的类QTcpSocket和QUdpSocket#xff1a;分别实现了TCP和UDP的类…一、文件操作类概述
QIODevice所有输入输出设备的基础类
QFile用于文件操作和文件数据读写的类QSaveFile用于安全保存文件的类QTemporaryFile用于创建临时文件的类QTcpSocket和QUdpSocket分别实现了TCP和UDP的类QSerialPort实现串口通信的类QBluetoothSocket用于蓝牙通信的类QProcess用于启动外部程序并且可以给程序传递参数QBuffer以一个QByteArray对象作为数据缓冲区将QByteArray对象作为I/O设备来读写 二、目录和文件操作
QCoreApplication可提取应用程序路径、重命名等信息QT QCoreApplication 类_qcoreapplication 退出_hongdou9a9的博客-CSDN博客QFile可进行文件的复制、删除、重命名等操作QFileInfo用于获取文件的各种信息如文件的路径基本文件名文件名后缀文件大小等QDir用于目录i信息获取和目录操作如新建、获取。删除目录下的文件或子目录等QTemporaryDir用于创建临时目录临时目录可在使用后自动删除QTemporaryFile用于创建临时文件临时文件可在使用后自动删除QFileSystenWatcher用于监视设定的目录和文件当所监视的目录或文件出现复制、重命名、删除等操作时会发射出出相应的信号
2.1 QCoreApplication类
QCoreApplication与应用程序信息相关的几个静态函数
函数原型功能QString applicationDirPath()返回程序可执行文件所在路径QString applicationFilePath()返回应用程序的带有路径的完整文件名QString applicationName()返回应用程序名称默认是无后缀的可执行文件名QString setApplicationName(QString application)设置应用程序名称替代默认的应用程序名称QStringList libraryPaths()返回一个字符串列表其是应用程序动态加载库文件时搜索的目录列表void addLibraryPath(QString path)将一个路径添加到应用程序的库搜索目录列表中void setOrganizationName(QString orgName)为应用程序设置一个组织名QString OrganizationName()返回应用程序的组织名void exit()退出应用程序
范例
void Dialog::on_pushButton_5_clicked()
{showbtninfo(sender());QStringList strListQCoreApplication::libraryPaths();for(auto item:strList)ui-plainTextEdit-appendPlainText(item);ui-plainTextEdit-appendPlainText(\n);
}
2.2 QFile类
[QT_032]Qt学习之基本文件读写QFile_qfile 读取文件_天空之城8020的博客-CSDN博客https://blog.csdn.net/kongcheng253/article/details/128756662QFile类除了可以进行文件的读写还有一些静态函数和接口函数可用于文件操作 QFile的静态函数
函数原型功能 bool copy(QString fileName,QString newName)复制一个文件bool rename(QString oldName,QString newName)重命名一个文件bool remove(QString fileName)删除一个文件bool moveTo Trash(QString fileName,QString *pathInTrashnullptr)将一个文件移动到回收站bool exists(QString fileName)判断一个文件是否存在bool link(QString fileName,QString linkName)创建文件连接在window上就是创建快捷方式QString symLinkTarget(QString fileName)返回一个链接指向的绝对文件名或路径 bool setPermissions(QStringfileName, QFileDevice::Permissions permissions) 设置一个文件的权限权限是枚举类型QFileDevice::Permission的枚举值组合QFileDevice::Permissions permissions(QString fileName)返回文件的权限
范例
//静态函数copy()代码实现
void Dialog::on_pushButton_8_clicked()
{showbtninfo(sender());QString sousui-EditFile-text();//拿到editFile的名称QFileInfo fileinfo(sous);QString newFilefileinfo.path()/fileinfo.baseName()--副本fileinfo.suffix();QFile::copy(sous,newFile);ui-plainTextEdit-appendPlainText(源文件sous);ui-plainTextEdit-appendPlainText(副本newFile\n);
}void Dialog::on_pushButton_11_clicked()
{//静态函数exists()showbtninfo(sender());QString sousui-EditFile-text();bool theQFile::exists(sous);//调用静态函数判断源文件sous是否存在ui-plainTextEdit-appendPlainText(sous);//不管存不存在都可以输出资源名称if(the)//若资源文件存在ui-plainTextEdit-appendPlainText(存在);elseui-plainTextEdit-appendPlainText(不存在);ui-plainTextEdit-appendPlainText(\n);
} QFile的接口函数 范例
void Dialog::on_pushButton_14_clicked()
{//成员函数copy()showbtninfo(sender());QString sousui-EditFile-text();//拿到editFile的名称QFileInfo fileinfo(sous);QString newFilefileinfo.path()/fileinfo.baseName()--副本fileinfo.suffix();QFile file(sous);file.copy(newFile);ui-plainTextEdit-appendPlainText(源文件sous);ui-plainTextEdit-appendPlainText(副本newFile\n);
}void Dialog::on_pushButton_16_clicked()
{//成员函数exists()showbtninfo(sender());QString sousui-EditFile-text();QFile file(sous);bool thefile.exists(sous);//调用静态函数判断源文件sous是否存在ui-plainTextEdit-appendPlainText(sous);//不管存不存在都可以输出资源名称if(the)//若资源文件存在ui-plainTextEdit-appendPlainText(存在);elseui-plainTextEdit-appendPlainText(不存在);ui-plainTextEdit-appendPlainText(\n);
} 2.3 QFileInfo类 用于获取文件的各种信息。
常用的接口函数如下 范例
void Dialog::on_pushButton_115_clicked()
{//isFile()函数的实现showbtninfo(sender());QString sousui-EditFile-text();//先判断文件是否真的存在QFile file(sous);if(!file.exists(sous))return;QFileInfo fileinfo(sous);if(fileinfo.isFile())ui-plainTextEdit-appendPlainText(fileinfo.fileName()是一个文件);elseui-plainTextEdit-appendPlainText(文件不存在);
}void Dialog::on_pushButton_112_clicked()
{//birthTime()函数的实现showbtninfo(sender());QString sousui-EditFile-text();//拿到editFile的名称QFileInfo fileinfo(sous);QDateTime DTimefileinfo.birthTime();ui-plainTextEdit-appendPlainText(文件创建时间为DTime.toString(yyyy-MM-dd hh:mm:ss));
} 2.4 QDir类
主要的静态函数 部分接口函数 需要传递QDir::Filter枚举类型的参数以获取不同的结果枚举类型的常用取值如下或者使用过滤器返回特定类型的文件、子目录名 QDir::AllDirs列出所有目录名QDir::Files列出所有文件QDir::Drives列出所有盘符Unix系统下无效QDir::NoDotAndDotDot不列出特殊的符号如...QDir::AllEntries列出目录下所有项目 范例
void Dialog::on_pushButton_42_clicked()
{//静态函数drives()showbtninfo(sender());QFileInfoList drivelistQDir::drives();//返回驱动器列表for(int i0;idrivelist.size();i){ui-plainTextEdit-appendPlainText(drivelist.at(i).path());}ui-plainTextEdit-appendPlainText(\n);
}
void Dialog::on_pushButton_51_clicked()
{//mkdir()showbtninfo(sender());QString subDirsubDir1;//准备一个目录名QDir dir(ui-EditDir-text());bool okdir.mkdir(subDir);//在目录dir中创建一个新的目录subDir1if(ok)ui-plainTextEdit-appendPlainText(所选目录下成功新建一个目录 subDir\n);elseui-plainTextEdit-appendPlainText(目录创建失败\n);
}
void Dialog::on_pushButton_53_clicked()
{//setpath()showbtninfo(sender());QString curDirQDir::currentPath();QDir lastDir(curDir);ui-plainTextEdit-appendPlainText(选择目录之前lastDir.absolutePath()\n);QString aDirQFileDialog::getExistingDirectory(this,选择一个目录,curDir,QFileDialog::ShowDirsOnly);if(aDir.isEmpty())return;ui-EditDir-setText(aDir);//将打开的文件名写入到editDir中lastDir.setPath(aDir);ui-plainTextEdit-appendPlainText(选择目录之后lastDir.absolutePath());ui-plainTextEdit-appendPlainText(\n);
}