一:
Qstring fileName = QFileDialog::getOpenFileName(this, tr("open file"), " ", tr("Allfile(*.*);;mp3file(*.mp3)"));
说明:这样就会产生一个对话框,和系统的资源管理器差不多的。返回的是你选择文件的 绝对路径。
参数1:父窗口
参数2:对话框的标题
参数3:默认的打开的位置,如”我的文档“等
参数4:文件的过滤器,注意文件类型之间用 ;; 分开
二:
QStringList fileNameList;
QString fileName0;
QFileDialog* fd = new QFileDialog(this);//创建对话框
fd->resize(240,320); //设置显示的大小
fd->setFilter( "Allfile(*.*);;mp3file(*.mp3);;wmafile(*.wma);;wavefile(*.wav)"); //设置文件过滤器
fd->setViewMode(QFileDialog::List); //设置浏览模式,有 列表(list) 模式和 详细信息(detail)两种方式
if ( fd->exec() == QDialog::Accepted ) //如果成功的执行
{
fileName0 = fd->selectedFiles(); //返回文件列表的名称
fileName = fileNameList[0]; //取第一个文件名
}
else
fd->close();
资料来源于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
Qt 打开文件对话框
1.打开单个文件
QString filename = QFileDialog::getOpenFileName(
this,
"Open Document",
QDir::currentPath(),
"Document files (*.doc *.rtf);;All files(*.*)");
if (!filename.isNull()) { //用户选择了文件
// 处理文件
QMessageBox::information(this, "Document", "Has document", QMessageBox::Ok | QMessageBox::Cancel);
} else // 用户取消选择
QMessageBox::information(this, "Document", "No document", QMessageBox::Ok | QMessageBox::Cancel);
2. 可以选定多个文件的文件打开对话框
QFileDialog::Options options;
if (!native->isChecked())
options |= QFileDialog::DontUseNativeDialog;
QString selectedFilter;
QStringList files = QFileDialog::getOpenFileNames(
this, tr("QFileDialog::getOpenFileNames()"),
openFilesPath,
tr("All Files (*);;Text Files (*.txt)"),
&selectedFilter,
options);
if (files.count()) {
openFilesPath = files[0];
openFileNamesLabel->setText(QString("[%1]").arg(files.join(", ")));
}
相关推荐
点击按钮,打开文件对话框选择文件,获取文件名路径、文件信息、文件名处理
Qt QFileDialog 文件选择对话框 多选
QT开发时虽然能显示中文,但内置的对话框依然显示英文,使用QT内置的翻译文件即可解决问题,Qt标准对话框的文字,英文改成中文,
使用Qt5.8 打开指定路径txt文件并显示内容 可以将内容保存到固定路径 优化代码,通俗易懂,先看图片说明
上学期有门qt课程,考试就是交一个大作业,在网上搜寻了很久,发现大部分是qt4,奈何老师要让用qt3做,无奈之下只得研究书本一个星期,又花了一个星期做了这个购书系统。 时间仓促,做的不是很满意,但是内容绝对够...
Qt为应用程序设计提供了一些常用的标准对话框,如打开文件对话框、选择颜色对话框、信 息提示和确认选择对话框、标准输入对话框等,用户无需再自己设计这些常用的对话框,这样可以减少程序设计工作量。实例samp6_1...
QT5文件对话框,一个标准对话框:QFileDialog,也就是文件对话框。在本节中,我们将尝试编写一个简单的文本文件编辑器,我们将使用QFileDialog来打开一个文本文件,并将修改过的文件保存到硬盘。这或许是我们在本...
通过对QFileDialog控件的运用,实现了编辑文件并且保存,另存为功能,打开文件功能,均已成功实现
本文研究的主要是PyQt5打开文件对话框QFileDialog的代码示例,具体如下。 单个文件打开 QFileDialog.getOpenFileName() 多个文件打开 QFileDialog.getOpenFileNames() 文件夹选取 QFileDialog....
Qt5开发及实例,实例CH2105,演示几种Qt Quick对话框的用法,运行效果如图21.10所示。 实现步骤如下。 (1)新建Qt Quick Controls应用程序,项目名称为“Dialogs”。 (2)打开MainForm.ui.qml文件,编写代码。 (3)...
此工程实现获取当前工程目录、获取指定目录下的所有文件名、获取系统当前时间、获取自1970.1.1日以来到当前时间的毫秒数、打开选择目录的对话框、打开选择目录的对话框、打开选择文件路径的对话框、打开选择保存文件...
ubuntu下安装好Qt后,当双击Qt程序时弹出对话框,...无法覆盖文件问题...
qt实现的sqlites数据库文件与csv文件相互转换案例代码,sqlite数据库文件处理方面基于QT插件库提供的QSQLiteDriverPlugin实现数据库打开、读写、查询等操作,针对csv的文件读写方面,是基于QFile实现的FileQt类封装...
这是 Qt4 的 100% 自定义文件对话框,因此仅基于 QDialog,而不是 QFileDialog。 它仍在开发中,不能正常工作,还有很多工作要做。 信息:如果对话框足够稳定,我将发布 0.5 或更高版本的源代码。 注意:我只能提供 ...
2、通过文件对话框打开需要访问的图片(支持单选和多选功能); 3、打开的图片可以在该软件中央显示; 4、含有对图像进行灰度化、二值化、3×3均值滤波、伽马变换、边缘检测等功能(其他功能可以自己设计); 5、软件...
专用于虚幻引擎的 Linux 文件对话框实现。 该项目的目的是提供一个简单的 C API,允许使用四个主流 GUI 工具包中的任何一个打开 linux 文件和字体对话框: Qt4 Qt5 GTK+2 GTK+3 建造 mkdir build cd build ...
2、通过文件对话框打开需要访问的图片(支持单选和多选功能); 3、打开的图片可以在该软件中央显示; 4、含有对图像进行灰度化、二值化、3×3均值滤波、伽马变换、边缘检测等功能(其他功能可以自己设计); 5、软件...
槽函数slotFile()完成通过标准文件对话框获得所需要文件的文件名功能,其具体内容如下: void FileInfo::slotFile() { QString fileName = QFileDialog::getOpenFileName(this,"打开","/", "files (*)"); ...
图形显示的Graphics/View架构、数据编辑和显示的Model/View架构、对话框和多窗口的设计与调用方法等技术;也介绍了常用界面组件、文件读写、绘图、图表、数据可视化、数据库、多线程、网络、多媒体等模块的使用。每...