Qt中 文件对话框QFileDialog 的使用

本文介绍了Qt中QFileDialog的基本使用方法,包括通过静态函数获取文件和创建通用对话框的方式。详细解释了如何设置对话框的各种选项,如显示模式、过滤器及返回类型,并展示了如何获取用户选择的文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Qt中 文件对话框QFileDialog 的使用

资料来源于Qt官方文档,我总结了其中常用到的部分:

一. 最简单的方法是调用静态函数来对话框获取文件:
QString file = QFileDialog::getOpenFileName(
"/home/foxman",
"Images (*.png *.xpm *.jpg)",
this);
这断代码可以建立一个取文件对话框,选择后OK将文件路径返回给file.

二. 一般的文件对话框的使用
QFileDialog *fd=new QFileDialog(this,"file dlg",TRUE);
if(fd->exec()==QFileDialog::Accepted) // ok
{
QString file=fd->selectedFile();
qWarning(s);
}

1. 几个设定选项:

a. 设定显示模式
fd->setViewMode( QFileDialog::Detail );
//Detail显示 详细的文件日期大小, List为一般情况

b. 设定过滤器
fd->setFilter( "Images (*.png *.xpm *.jpg)" );
下面是设定多个过滤器,一定要以;;隔开(两个分号)
QString filters="C file(*.c *.cpp *.h);;pic(*.png *.xpm)";
fd->setFilters(filters);

c. 设定对话框返回什么
fd->setMode( QFileDialog::ExistingFile );
AnyFile(一般用于save as对话框)
ExistingFile存在的一个文件
ExistingFiles存在的0个或多个文件(可用于选择多个文件)
Directory返回目录
DirectoryOnly返回目录(选取文件的时候只选中目录)

2. 返回值:
a. 返回选择中的一个文件(夹)名字
QString s=fd->selectedFile();
b. 选取多个文件(一定要设定ExistingFiles模式)
QStringList slist=fd->selectedFiles();
for(QStringList::Iterator it=slist.begin();it!=slist.end();it++) //迭代器
qWarning(*it);


附: 字符串列表QStringList使用方法

1. 可以以append、+、<< 方式添加元素
QStringList slist;
slist.append("string1");
slist += "string2";
slist << "string3" << "string4";

2.迭代器取得每一个变量值
for(QStringList::Iterator it=slist.begin();it!=slist.end();it++) qWarning(*it);

3. 一种使用方式
QString s = "Red/tGreen/tBlue";
QStringList colors = QStringList::split( "/t", s );
cout << colors.join( ", " ) << endl;
输出: Red, Green, Blue

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值