0


Qt学习总结之QFileDialog

一.描述

QFileDialog提供了一个对话框,允许用户选择文件或者目录,也允许用户遍历文件系统,用以选择一个或多个文件或者目录。

QFileDialog继承了QDialog,具有父类的各种方法。

二.功能作用

1.最简单的获取方法(静态方法)
获取文件

QFileDialog::getOpenFileName()//获取一个打开文件的文件名QFileDialog::getOpenFileNames()//获取多个打开文件的文件名QFileDialog::getOpenFileUrl()//获取一个打开文件的统一资源定位符QFileDialog::getOpenFileUrls()//获取多个打开文件的统一资源定位符QFileDialog::getSaveFileName()//获取保存的文件名QFileDialog::getSaveFileUrl()//获取保存的url

我们来演示一下:

m_fileDialog->getOpenFileName(this,"选择cpp文件","./","ALL(*.*)、Images(*.png *.jpg)、CPP文件(*.cpp)");

效果如图:
在这里插入图片描述

参数说明:

选择cpp文件—>文件对话框名
./—>路径
ALL(.)、Images(*.png .jpg)、CPP文件(.cpp)")—>文件过滤选项

打印的文件名:
在这里插入图片描述

获取文件夹

QFileDialog::getExistingDirectory()
QFileDialog::getExistingDirectoryUrl()

例:

QString dir_name = m_fileDialog->getExistingDirectory(this,"选择文件夹","./");
m_edit->append(dir_name);

在这里插入图片描述
在这里插入图片描述

2.接收模式

因为QFileDialog分为打开和保存两种模式,默认情况是打开文件的。但是我们也可以通过下面的代码把他设置成为保存模式的。

m_fileDialog->setAcceptMode(QFileDialog::AcceptOpen);

QFileDialog::AcceptOpen    //打开模式
QFileDialog::AcceptSave    //保存模式

3.默认后缀

如果我们希望文件名称是带有默认后缀的,可以用下面的方法

m_fileDialog->setDefaultSuffix(".h");

4.设置文件模式(文件/文件夹)

通过下面的方法可以设置要操作的对象是文件还是文件夹

QFileDialog::setFileMode(FileMode mode)#QFileDialog::FileMode中FileMode枚举值
AnyFile   任意文件,无论是否存在
ExistingFile  已存在的文件
Directory     文件夹
 ExistingFiles  0个或多个现有文件
DirectoryOnly  只能为目录

5.设置名称过滤器

m_fileDialog->setNameFilter("test");

6.信息显示的详细程度

m_fileDialog->setViewMode(QFileDialog::Detail);
m_fileDialog->setViewMode(QFileDialog::List);

7.打开对话框

打开对话框除了前面用的open()以外,还可以通过由返回值的exec()来使用(和父类QDialog的返回方法是一样的)

三、常用信号

voidfileSelected(const QString &file);voidfilesSelected(const QStringList &files);voidcurrentChanged(const QString &path);voiddirectoryEntered(const QString &directory);voidurlSelected(const QUrl &url);voidurlsSelected(const QList<QUrl>&urls);voidcurrentUrlChanged(const QUrl &url);voiddirectoryUrlEntered(const QUrl &directory);voidfilterSelected(const QString &filter);
标签: qt 学习 ui

本文转载自: https://blog.csdn.net/qq_27726087/article/details/126703976
版权归原作者 嵌入式小龙 所有, 如有侵权,请联系我们删除。

“Qt学习总结之QFileDialog”的评论:

还没有评论