补一下这部分的笔记 简单的东西也记一下

操作系统一般都会提供一些列的标准对话框,如文件选择、字体选择、颜色选择等,这些标准对话框为应用层序提供了一致的观感。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文件读写操作笔记的更多相关文章

  1. Qt文件读写操作

    原文地址:https://www.cnblogs.com/flowingwind/p/8336159.html QFile Class 1.read读文件 加载文件对象  QFile file(&qu ...

  2. 一篇文章快速搞懂Qt文件读写操作

    导读:Qt当中使用QFile类对文件进行读写操作,对文本文件也可以与QTextStream一起使用,这样读写操作会更加简便.QFileInfo可以用来获取文件的信息.QDir可以用于对文件夹进行操作. ...

  3. python之文件读写操作笔记

    对不同类的文件操作,需要调用相关的库文件,一般情况下,可以选择建立:写文件函数和读文件函数.在写文件与读文件函数中 我们可以采用:with  open('文件名','w', encoding='utf ...

  4. c语言文件读写操作总结

    C语言文件读写操作总结 C语言文件操作 一.标准文件的读写 1.文件的打开 fopen() 文件的打开操作表示将给用户指定的文件在内存分配一个FILE结构区,并将该结构的指针返回给用户程序,以后用户程 ...

  5. [转]Android - 文件读写操作 总结

     转自:http://blog.csdn.net/ztp800201/article/details/7322110 Android - 文件读写操作 总结 分类: Android2012-03-05 ...

  6. PHP文件读写操作之文件写入代码

    在PHP网站开发中,存储数据通常有两种方式,一种以文本文件方式存储,比如txt文件,一种是以数据库方式存储,比如Mysql,相对于数据库存储,文件存储并没有什么优势,但是文件读写操作在基本的PHP开发 ...

  7. Java 字节流实现文件读写操作(InputStream-OutputStream)

    Java 字节流实现文件读写操作(InputStream-OutputStream) 备注:字节流比字符流底层,但是效率底下. 字符流地址:http://pengyan5945.iteye.com/b ...

  8. Java 字符流实现文件读写操作(FileReader-FileWriter)

    Java 字符流实现文件读写操作(FileReader-FileWriter) 备注:字符流效率高,但是没有字节流底层 字节流地址:http://pengyan5945.iteye.com/blog/ ...

  9. python(三)一个文件读写操作的小程序

    我们要实现一个文件读写操作的小程序 首先我们有一个文件 我们要以"============"为界限,每一个角色分割成一个独立的txt文件,按照分割线走的话是分成 xiaoNa_1. ...

随机推荐

  1. Android Q 正式命名为 Android 10

    根据官方博文,谷歌已经公布了 Android Q 的名称,它并不是想以前一样,以甜食命名,也不是以任何以字母 Q 开头来命名,而是简单称它为 Android 10. 该公司表示,它正在改变其发布版本的 ...

  2. mysql数据库事务隔离原理

    今天在学习JDBC的时候看到了关于MySQL的事务的隔离级别的问题,感觉内容挺高级的,所以记录一篇文章,以备后面使用. 数据库隔离级别有四种,应用<高性能mysql>一书中的说明: 然后说 ...

  3. 数据库高级:SQL-CREATE-DATABASE语句

    CREATE DATABASE 语句 CREATE DATABASE 用于创建数据库. SQL CREATE DATABASE 语法 CREATE DATABASE database_name SQL ...

  4. request的请求转发

    1.请求转发和重定向的区别 重定向: 请求转发: 可以看出,请求转发只需要发起一次请求,与重定向不同,请求转发发生在服务器内部.请求转发后浏览器的地址不会改变. 2.request请求转发 需要建立两 ...

  5. MySQL 8.0主从(Master-Slave)配置

    版权声明:转载请注明出处,谢谢配合. https://blog.csdn.net/zyhlwzy/article/details/80569422 MySQL 主从复制的方式有多种,本文主要演示基于基 ...

  6. [原创] 为Visio添加公式编辑器工具栏按钮

    前言 作为理工科的学生,在写论文时,难免会在示意图中添加一些公式来说明研究内容.常用的画图工具就是 Visio .而常用的公式编辑器就是 Mathtype .对于 Word 这种软件,Mathtype ...

  7. [Scikit-learn] 4.3 Preprocessing data

    数据分析的重难点,就这么来了,欢迎欢迎,热烈欢迎. 4. Dataset transformations 4.3. Preprocessing data 4.3.1. Standardization, ...

  8. Promise核心原理解析

    作者: HerryLo 本文永久有效链接: https://github.com/AttemptWeb...... Promises对象被用于表示一个异步操作的最终完成 (或失败), 及其结果值.主要 ...

  9. tomcat下的路径问题

    在tomcat下 如果是根据类装载器获得某个需要修改的文件路径 就有可能在web项目部署的时候存在问题 比如这里有一个测试 package Junit.test; public class test ...

  10. Hive安装与简单使用并集成SparkSQL

    ## Hive环境搭建1. hive下载:http://archive-primary.cloudera.com/cdh5/cdh/5/hive-1.1.0-cdh5.7.0.tar.gzwget h ...