Qt之getOpenFileName,getSaveFileName,getOpenFileNames

摘要:
Filter=QString(),PNGFiles(*.png)“;4。简单的1#include“mainwindow.h”2#include“ui_mainwindow.h”3#include<5QMainWindow(父级);“默认文件名”):setText(文件名):“默认文件名称”);setText(文件名1);“选择保存文件的路径”:

1.头文件

  #include<QFileDialog>

2.用处

  这几个函数都是QFileDialog这个类中的静态函数,可以调用当前系统的文件对话框。具体来讲:

  getOpenFileName返回一个被用户选中的文件的路径,前提是这个文件是存在的。

  getSaveFileName返回一个被用户选中的文件的路径,这个文件可以是不存在的。

  getOpenFileNames返回一个或多个被用户选中的文件的路径,前提是这些文件是存在的。

3.函数参数和返回值

  这几个函数的函数参数都是一样的,只有一点需要注意getOpenFileNames返回的是QStringList,而getOpenFileName和getSaveFileName返回的是QString。下面以getOpenFileName为例说明。

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

  第一个参数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,每个选项可以使用 | 运算组合起来。

4.简单用法

 1 #include "mainwindow.h"
 2 #include "ui_mainwindow.h"
 3 #include<QFileDialog>
 4 MainWindow::MainWindow(QWidget *parent) :
 5     QMainWindow(parent),
 6     ui(new Ui::MainWindow)
 7 {
 8     ui->setupUi(this);
 9 }
10 
11 MainWindow::~MainWindow()
12 {
13     delete ui;
14 }
15 
16 void MainWindow::on_openButton_clicked()
17 {
18 
19     QString filename=QFileDialog::getOpenFileName(this, "打开文件", "默认文件名");
20     ui->openEdit->setText(filename);
21 }
22 
23 void MainWindow::on_saveButton_clicked()
24 {
25     QString filename1=QFileDialog::getSaveFileName(this, "选择保存文件路径", "默认文件名");
26     ui->saveEdit->setText(filename1);
27 
28 }
29 
30 void MainWindow::on_openButton2_clicked()
31 {
32 
33     QStringList filenames=QFileDialog::getOpenFileNames(this, "选择保存文件路径", "默认文件名");
34     for(int i=0;i<filenames.size();i++)
35     {
36 
37         ui->openEdits->append(filenames.at(i));
38     }
39 
40 }

step1.打开文件

Qt之getOpenFileName,getSaveFileName,getOpenFileNames第1张

step2.得到打开文件的路径

Qt之getOpenFileName,getSaveFileName,getOpenFileNames第2张

免责声明:文章转载自《Qt之getOpenFileName,getSaveFileName,getOpenFileNames》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇linux(centos7)中安装7z设置单元格的宽度和高度下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

linux下vim命令详解【转】

高级一些的编辑器,都会包含宏功能,vim当然不能缺少了,在vim中使用宏是非常方便的::qx     开始记录宏,并将结果存入寄存器xq     退出记录模式@x     播放记录在x寄存器中的宏命令稍微解释一下,当在normal模式下输入:qx后,你对文本的所有编辑动作将会被记录下来,再次输入q即退出了记录模式,然后输入@x对刚才记录下来的命令进行重复,...

Solr搜索引擎入门知识汇总

1.技术选型,为什么用solr而不用lucene,或者其他检索工具 lucene:需要开发者自己维护索引文件,在多机环境中备份同步索引文件很是麻烦 Lucene本质上是搜索库,不是独立的应用程序。而Solr是。 Lucene专注于搜索底层的建设,而Solr专注于企业应用。 Lucene不负责支撑搜索服务所必须的管理,而Solr负责。 一句话概括Solr:...

eslint 错误提示

“Missing semicolon.” : “缺少分号.”, “Use the function form of ”use strict”.” : “使用标准化定义function.”, “Unexpected space after ‘-’.” : “在’-'后面不应出现空格.”, “Expected a JSON value.” : “请传入一个js...

Zend Framework 教程:简单的注册和登录验证

注:本系列教程都在zend studio 6.1.1上开发完成,amp环境全部自己配置,以避免使用类似xampp\wamp等继承环境带来的未知问题。 1、首先创建存储用户的表   2、创建对应于数据库表的数据库访问模型,即Zend Table 在zend studio的工程上右键选择New Zend Framework Item,选择Zend Table,...

MongoDB 复合索引的试验

根据典型碰到的场景,来做几个实验: 这里创建了个loans collection。简化只有100条数据。这个是借贷的表有 _id, userId, status(借贷状态), amount(金额). 看完 这个实验后, 你会明白了 {userId:1, status:1}, vs {status:1,userId:1} 的差别 PS:这个case 里面其实...

php实现文件下载代码一例

php实现文件下载代码 需要用到header函数来发送相关信息给客户端浏览器,同时再结合filesize函数来读取文件大小并进行下载操作。简单的文件下载只需要使用HTML的连接标记<a>,并将属性href的URL值指定为下载的文件即可。 文件下载,只能处理一些浏览器不能默认识别的MIME类型文件,例如当访问book.rar文件时,浏览器并没有直...