QT 打开文件对话框总结
2017-02-28 14:13
253 查看
转载自:http://blog.csdn.net/lpdpzc/article/details/9010801
一:
说明:这样就会产生一个对话框,和系统的资源管理器差不多的。返回的是你选择文件的 绝对路径。
参数1:父窗口
参数2:对话框的标题
参数3:默认的打开的位置,如”我的文档“等
参数4:文件的过滤器,注意文件类型之间用 ;; 分开
二:
资料来源于Qt官方文档,我总结了其中常用到的部分:
一. 最简单的方法是调用静态函数来对话框获取文件:
这断代码可以建立一个取文件对话框,选择后OK将文件路径返回给file.
二. 一般的文件对话框的使用
1.几个设定选项:
a.设定显示模式
b. 设定过滤器
c. 设定对话框返回什么
2.返回值:
a. 返回选择中的一个文件(夹)名字
b. 选取多个文件(一定要设定ExistingFiles模式)
附: 字符串列表QStringList使用方法
1.可以以append、+、<< 方式添加元素
2.迭代器取得每一个变量值
3.一种使用方式
Qt 打开文件对话框
1.打开单个文件
2.可以选定多个文件的文件打开对话框
一:
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 打开文件对话框总结
- QT 打开文件对话框总结
- QT 打开文件对话框总结
- QT 打开文件对话框总结
- python qt(pyqt)的文件打开、文件保存、文件夹选择对话框
- Qt打开文件对话框
- Qt打开文件对话框
- Qt中打开文件对话框和保存文件对话框
- QT 打开文件对话框汇总
- 利用Qt对话框选择文件打开路径
- Qt 通过打开文件对话框,实行拖拽到textEdit显示文本或者点击文件显示文本
- Qt打开文件对话框同时选中多个文件
- qt中获取打开文件路径,颜色对话框,字体对话框,自定义对话框,消息对话框,输入对话框
- QT设计UI:QT模式对话框打开文件
- QT打开文件对话框
- QT 总结(四) 1.中文编码 乱码 2.QFileDialog 打开文件框 3.调用其它UI文件 4.QMessageBox弹窗
- QT 打开 保存 文件对话框
- Qt打开文件对话框同时选中多个文件
- Qt4 打开文件对话框总结
- QT 总结(四) 1.中文编码 乱码 2.QFileDialog 打开文件框 3.调用其它UI文件 4.QMessageBox弹窗