• QT打开和保存文件对话框


    使用QFileDialog可以调用当前系统的文件对话框

    包含头文件:

    #include <QFileDialog>

    (1)文件打开对话框

    QString    getOpenFileName ( QWidget * parent = 0, const QString & caption = QString(), const QString & dir = QString(), const QString & filter = QString(), QString * selectedFilter = 0, Options options = 0 )

    第一个参数parent,用于指定父组件。注意,很多Qt组件的构造函数都会有这么一个parent参数,并提供一个默认值0;
    第二个参数caption,是对话框的标题;
    第三个参数dir,是对话框显示时默认打开的目录,"." 代表程序运行目录,"/" 代表当前盘符的根目录(Windows,Linux下/就是根目录了),也可以是平台相关的,比如"C:\\"等;
    第四个参数filter,是对话框的后缀名过滤器;
    多个文件使用空格分隔:比如我们使用"Image Files(*.jpg *.png)"就让它只能显示后缀名是jpg或者png的文件。
    多个过滤使用两个分号分隔:如果需要使用多个过滤器,使用";;"分割,比如"JPEG Files(*.jpg);;PNG Files(*.png)";
    第五个参数selectedFilter,是默认选择的过滤器;
    第六个参数options,是对话框的一些参数设定,比如只显示文件夹等等,它的取值是enum QFileDialog::Option,每个选项可以使用 | 运算组合起来。

    如果我要想选择多个文件怎么办呢?Qt提供了getOpenFileNames()函数,其返回值是一个QStringList。你可以把它理解成一个只能存放QString的List,也就是STL中的list<string>。

    示例:

    QString file_name = QFileDialog::getOpenFileName(this,
            tr("Open File"), 
            "",
            "", 
            0);
        if (!fileName.isNull())
        {
            //fileName是文件名
            ...
        }
        else{
            //点的是取消
            ...
        }
            

    (2)文件保存对话框

    QString    getSaveFileName ( QWidget * parent = 0, const QString & caption = QString(), const QString & dir = QString(), const QString & filter = QString(), QString * selectedFilter = 0, Options options = 0 )

    示例:

    QString fileName = QFileDialog::getSaveFileName(this,
            tr("Open Config"),
            "",
            tr("Config Files (*.ifg)"));
    
        if (!fileName.isNull())
        {
            //fileName是文件名
        }
        else
        {
            //点的是取消
        }
  • 相关阅读:
    ajax遍历数组(实现百度搜索提示的效果)
    角色管理的增删改
    String与Date、Timestamp互转
    jquery
    认识拦截器
    验证表单介绍
    什么是struts2?
    如何理解OOP?
    请描述Java中的时间监听机制?
    hibernate3中session.get()与session.load()两个方法的区别?
  • 原文地址:https://www.cnblogs.com/liuyunfeifei/p/2933411.html
Copyright © 2020-2023  润新知