网站制作软件是什么意思,dw手机网站建设,郑州医科大附属男科医院,外贸商城网站开发书最近用qt操作文件或者目录的动作比较多#xff0c;简单整理一下常用的接口#xff0c;方便回顾。
总的来说#xff0c;其实就是用文件选择对话框QFileDialog类#xff0c;以及操作文件信息的QFileInfo类#xff0c;以及相关QCoreApplication中静态成员函数获取一些信息简单整理一下常用的接口方便回顾。
总的来说其实就是用文件选择对话框QFileDialog类以及操作文件信息的QFileInfo类以及相关QCoreApplication中静态成员函数获取一些信息qDir类。
1获取当前目录一般默认也是当前目录。
void Dialog::on_pbn_getcurdir_clicked()
{QString cur_string QApplication::applicationDirPath(); //可执行文件的目录路径QString cur_string1 QApplication::applicationFilePath(); //可执行文件的路径QString cur_dir QDir::currentPath(); //获取当前工作目录路径 其他获取主目录临时目录磁盘列表求绝对路径ui-le_display-append(cur_string:cur_string);ui-le_display-append(cur_string1:cur_string1);ui-le_display-append(cur_dir:cur_dir);
}2可以设置一个目录下次打开默认基于该目录。
或者保存最后一次用户打开的目录做使用。
//在打开文件或者目录时 一般可以设置默认打开的目录 这里要借助全局或者成员变量
static QString default_dir QDir::currentPath();
void Dialog::on_pbn_setdefdir_clicked()
{//打开一个目录 父对象指针 标题栏 初始目录//DontResolveSymlinks不解析符号链接而是直接显示链接的路径。//ShowDirsOnly仅显示目录过滤掉文件。//ReadOnly只读模式在对话框中禁止创建新目录。default_dir QFileDialog::getExistingDirectory(this, 选择默认目录,default_dir, QFileDialog::ShowDirsOnly);ui-le_display-append(设置默认打开目录为:default_dir,需要存储信息后面再次使用。);
}3选择文件和目录基于上面设置的默认目录。
void Dialog::on_pbn_file_clicked()
{//打开一个文件借助QFileDialog目录可以用上面设置的方便操作//父对象 标题栏 初始目录 过滤文件类型m_file_name QFileDialog::getOpenFileName(this, 选择一个文件, default_dir, Text Files (*.txt);;All Files (*));ui-le_file_name-setText(m_file_name);ui-le_display-append(选择一个文件m_file_name);
}void Dialog::on_pbn_dir_clicked()
{m_dir_name QFileDialog::getExistingDirectory(this, 选择一个目录,default_dir, QFileDialog::ShowDirsOnly);ui-le_dir_name-setText(m_dir_name);ui-le_display-append(选择一个目录m_dir_name);
}4选择一个文件后获取是字符串获取文件路径目录。
//这里主要借助QFileInfo 类和qDir类
void Dialog::on_pbn_getfile_dir_clicked() //获取已经选择文件的路径
{QFileInfo fileinfo(m_file_name); //也可以是一个目录QString reall_filedir fileinfo.dir().absolutePath(); //获取绝对路径QString reall_filename fileinfo.fileName();ui-le_display-append(选择文件的目录为 reall_filedir);
}5选择一个文件后获取真实文件名等其他方法
#include QDateTime
void Dialog::on_pbn_getfile_name_clicked() //获取已经选择文件的实际文件名
{QFileInfo fileinfo(m_file_name); //相关文件的操作都是借助于QFileInfo 可以探索其他QString reall_filename fileinfo.fileName();ui-le_display-append(选择文件的文件名为 reall_filename);ui-le_display-append(选择文件的路径为fileinfo.filePath());ui-le_display-append(选择文件的绝对路径为fileinfo.absoluteFilePath());ui-le_display-append(选择文件的最后修改时间fileinfo.lastModified().toString());
}6要生成目标文件基于选择的文件做文件名处理。
这里文件的拷贝重命名等都只是接口
void Dialog::on_pbn_file_add_suffix_clicked()
{QFileInfo fileinfo(m_file_name);//需要对目录进行处理 比如要生成一个目标文件在源文件基础上加个后缀QString dst_filename fileinfo.dir().absolutePath()/fileinfo.baseName()_后缀.fileinfo.suffix();ui-le_display-append(处理后目标文件为dst_filename);//如果要遍历一个目录 可以用QDir类 entryList
}7简单运行