QT文件读写操作笔记
补一下这部分的笔记 简单的东西也记一下
操作系统一般都会提供一些列的标准对话框,如文件选择、字体选择、颜色选择等,这些标准对话框为应用层序提供了一致的观感。Qt对这些标准对话框都定义了相关的类,如:QFileDialog、QFontDialog、QColorDialog、QInputDialog、QMessageBox、QPrintDialog、QErrorMessage、QProgressDialog等
QFileDialog
QFileDialog类是用于打开和保存文件的标准对话框。 QFileDialog类继承QDialog类;
QFileDialog在打开文件时使用了文本过滤器,用于显示指定扩展名的文件。也可以设置使用QFileDialog打开文件时的起始目录和指定扩展名的文件。
使用QFileDialog有两种方法,一种是比较简单的使用“静态函数法”,另一种是可以自定义各个细节的“构造函数法”
官网手册:

QString getExistingDirectory(QWidget * parent = , const QString & caption = QString(), const QString & dir = QString(), Options options = ShowDirsOnly) QUrl getExistingDirectoryUrl(QWidget * parent = , const QString & caption = QString(), const QUrl & dir = QUrl(), Options options = ShowDirsOnly, const QStringList & supportedSchemes = QStringList()) QString getOpenFileName(QWidget * parent = , , Options options = ) QStringList getOpenFileNames(QWidget * parent = , , Options options = ) QUrl getOpenFileUrl(QWidget * parent = , , Options options = , const QStringList & supportedSchemes = QStringList()) QList<QUrl> getOpenFileUrls(QWidget * parent = , , Options options = , const QStringList & supportedSchemes = QStringList()) QString getSaveFileName(QWidget * parent = , , Options options = ) QUrl getSaveFileUrl(QWidget * parent = , , Options options = , const QStringList & supportedSchemes = QStringList())
函数:
getOpenFileName
比如这里我在triggered()中使用getOpenFileName
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QTextCodec>
#include <QFileDialog>
#include <QString>
#include <QDebug>
#include <QByteArray>
#include <string.h>
#define cout qDebug()
void MainWindow::on_actiondakai_2_triggered()
{
QString fileName = QFileDialog::getOpenFileName();
cout<<"====="<<fileName<<"========";
}

getExistingDirectory
void MainWindow::on_actiondakai_2_triggered()
{
// QString fileName = QFileDialog::getOpenFileName();
QString fileName = QFileDialog::getExistingDirectory(NULL,"caption",".");
cout<<"====="<<fileName<<"========";
}

其他方法 大同小异不再叙述。
getExistingDirectoryUrl
和getExistingDirectory类似,功能也是获取文件夹路径,最大的区别在于参数里的路径是QUrl类型,这为用户提供了选择远程目录的能力。
getOpenFileUrl
获取远程文件
为用户提供了获取远程文件路径的能力
getOpenFileUrls
获取多个远程文件
可以得到多个远程文件路径
getOpenFileNames
获取多个本地文件
getSaveFileName
保存本地文件对话框
getSaveFileUrl
保存远程文件对话框
除了静态函数 还可以利于构造函数自定义打开文件的细节
构造一个QFileDialog对象:
QFileDialog fd;
设置是打开还是保存文件对话框 AcceptMode
fd.setAcceptMode(QFileDialog::AcceptOpen);//文件对话框为打开类型 fd.setAcceptMode(QFileDialog::AcceptSave);//文件对话框为保存类型
设置对话框显示信息的详细程度
fd.setViewMode(QFileDialog::Detail);//详细 fd.setViewMode(QFileDialog::List);//仅列表
设置对话框返回
fd.setFileMode(QFileDialog::AnyFile);//文件名,无论是否存在 fd.setFileMode(QFileDialog::ExistingFile);//存在的,单个文件名 fd.setFileMode(QFileDialog::Directory);//文件夹名 fd.setFileMode(QFileDialog::ExistingFiles);//多文件
设置标题
fd.setWindowTitle("标题");
设置默认后缀
fd.setDefaultSuffix("txt");
获取对话框中的目录地址
QDir dir = fd.directory();qDebug() << dir;
返回文件图标提供者
QFileIconProvider * QFileDialog::iconProvider() const
设置历史目录setHistory
QStringList dirLIst;
dirLIst << "C:\\Intel" ;//添加了个路径
fileDlg->setHistory(dirLIst);
QT文件读写操作笔记的更多相关文章
- Qt文件读写操作
原文地址:https://www.cnblogs.com/flowingwind/p/8336159.html QFile Class 1.read读文件 加载文件对象 QFile file(&qu ...
- 一篇文章快速搞懂Qt文件读写操作
导读:Qt当中使用QFile类对文件进行读写操作,对文本文件也可以与QTextStream一起使用,这样读写操作会更加简便.QFileInfo可以用来获取文件的信息.QDir可以用于对文件夹进行操作. ...
- python之文件读写操作笔记
对不同类的文件操作,需要调用相关的库文件,一般情况下,可以选择建立:写文件函数和读文件函数.在写文件与读文件函数中 我们可以采用:with open('文件名','w', encoding='utf ...
- c语言文件读写操作总结
C语言文件读写操作总结 C语言文件操作 一.标准文件的读写 1.文件的打开 fopen() 文件的打开操作表示将给用户指定的文件在内存分配一个FILE结构区,并将该结构的指针返回给用户程序,以后用户程 ...
- [转]Android - 文件读写操作 总结
转自:http://blog.csdn.net/ztp800201/article/details/7322110 Android - 文件读写操作 总结 分类: Android2012-03-05 ...
- PHP文件读写操作之文件写入代码
在PHP网站开发中,存储数据通常有两种方式,一种以文本文件方式存储,比如txt文件,一种是以数据库方式存储,比如Mysql,相对于数据库存储,文件存储并没有什么优势,但是文件读写操作在基本的PHP开发 ...
- Java 字节流实现文件读写操作(InputStream-OutputStream)
Java 字节流实现文件读写操作(InputStream-OutputStream) 备注:字节流比字符流底层,但是效率底下. 字符流地址:http://pengyan5945.iteye.com/b ...
- Java 字符流实现文件读写操作(FileReader-FileWriter)
Java 字符流实现文件读写操作(FileReader-FileWriter) 备注:字符流效率高,但是没有字节流底层 字节流地址:http://pengyan5945.iteye.com/blog/ ...
- python(三)一个文件读写操作的小程序
我们要实现一个文件读写操作的小程序 首先我们有一个文件 我们要以"============"为界限,每一个角色分割成一个独立的txt文件,按照分割线走的话是分成 xiaoNa_1. ...
随机推荐
- hadoop高可用安装和原理详解
本篇主要从hdfs的namenode和resourcemanager的高可用进行安装和原理的阐述. 一.HA安装 1.基本环境准备 1.1.1.centos7虚拟机安装,详情见VMware安装Cent ...
- Linux MySQL-5.7 root初始密码修改
操作系统为centos7 64 1.修改 /etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1 这一行配置让 mysqld 启动时不对密码进行验证 2. ...
- 07 (OC)* XIB原理和Xib、storyBoard、代码的优缺点
1:可读性 2:可视化界面.立马看到 3:开发速度. 4:复用性 5:维护性差 本质 编译时对xml文件做了如下操作1,读取xml文件,生成所有界面对象,生成所有object(即自定义的control ...
- 学习方法分享:为何一年半就能拿到大厂 offer
毕竟是聊聊曾经,放一张大学课堂上灵光一现,手写的一个我曾经一直使用的网名 前言 原文地址:Nealyang/personalBlog 讲真,的确是运气,才有机会进大厂.也没想到,那篇一年半工作经验试水 ...
- .NET Core 获取请求类容(body)
.Net Core 对于body多次读取,开放了一个参数EnableRewind(),该参数在第一次读取body之前开启,之后body信息可以多次读取:core时代取消了之前的stream.posit ...
- SoapUI接口测试实战
本次测试的是REST服务,使用的SoapUI破解版,如果担心开源版的会有功能差异,可以参照我之前的博文安装破解版. 博文地址:https://www.cnblogs.com/Sweettesting/ ...
- Django+MySQL Dashboard 网页端数据库可视化
1. Overview Python+MySQL+Django, 有些数据托管在 MySQL 的数据库,然后我们希望进行可视化,通过 web 的方式对数据库的信息去进行展示/检索/维护/.. 这个项目 ...
- java自学小段 产生随机数
public class Suijishu { public static void main(String[] args) { double i=Math.random();//产生一个0-0.5的 ...
- Debezium SQL Server Source Connector+Kafka+Spark+MySQL 实时数据处理
写在前面 前段时间在实时获取SQLServer数据库变化时候,整个过程可谓是坎坷.然后就想在这里记录一下. 本文的技术栈: Debezium SQL Server Source Connector+K ...
- 基于windows的Redis后台服务安装卸载管理
首先,需要你进入你的Redis解压根目录,例如,类似于我下图的这样子: 接着打开你的cmd,使用cd命令切换到该目录,或者直接在上图的地址栏输入“cmd”并回车.这里为什么让你先使用资源管理器找到你的 ...