QFileDialog:选择目录和文件
QFileDialog: Selecting directories and files
我正在使用以下代码构建文件名的qstringlist:
QStringList filenames = QFileDialog::getOpenFileNames(this,"",QDir::currentPath() );
如何更改此设置以便也可以选择目录?
我看了看:
dialog.setFileMode(QFileDialog::AnyFile);
但我不知道如何在代码中使用它。
上面注释中链接的这个代码片段解决了我的问题。
QFileDialog* _f_dlg = new QFileDialog(this);
_f_dlg->setFileMode(QFileDialog::Directory);
_f_dlg->setOption(QFileDialog::DontUseNativeDialog, true);
// Try to select multiple files and directories at the same time in QFileDialog
QListView *l = _f_dlg->findChild<QListView*>("listView");
if (l) {
l->setSelectionMode(QAbstractItemView::MultiSelection);
}
QTreeView *t = _f_dlg->findChild<QTreeView*>();
if (t) {
t->setSelectionMode(QAbstractItemView::MultiSelection);
}
int nMode = _f_dlg->exec();
QStringList _fnames = _f_dlg->selectedFiles();
我尝试过,但在我的情况下,结果有点奇怪:我可以选择文件夹和文件的组合,只要第一个选择的项目是文件夹。
因此,当我选择一个文件夹,然后是一个文件,再选择一个文件时,我可以继续点击按钮并检索结果:请参阅下面链接中的屏幕截图。
首先选择文件夹,然后选择文件:OK
但是,当第一个项目是一个文件(后面跟着一个文件夹,或者只是一个文件)时,继续按钮不可用。。。因此,在这个实现中,仅仅选择一个或多个文件似乎对我来说是不可用的,正如在另一个屏幕截图中所看到的:
首先选择文件,然后选择文件夹:无法进行
是否有任何方法可以使用QFileDialog使用相同的代码来进行
- 选择一个或多个文件而不选择文件夹
- 选择一个或多个文件夹而不选择文件
- 选择文件和文件夹的组合,而不考虑选择顺序
相关文章:
- 如何选择在 csv 文件中输出的位置
- 防止在C++中选择错误文件时提升 xml 解析器崩溃
- 选择文件对话框错误
- 限制用户可以在 QFileDialog 中选择的文件数量
- 如何从目录迭代器中选择特定文件并进行比较
- 如果在VC6中使用打开功能,如何选择文件夹?
- 选择特定版本的 Visual Studio 命令行工具包,并根据特定版本的C++运行时环境编译文件
- 在 Win32 应用中,如果未选择文件夹并且用户单击"确定",则文件夹选择对话框将关闭
- 如何从文件夹树中快速选择随机文件?
- 使用柯南和cmake选择文件
- C++ gtkmm:文件选择器对话框不适用于任何驱动器
- 使用文件对话框选择包含特定文件类型的文件夹?
- 如何选择文件保存到的位置?
- 如何为多个文件处理选择最佳的I/O策略
- 在为 Java 编译动态链接文件时,我应该选择哪些 g++ 参数
- C++文件选择窗口
- 仅为QFileSystemModel的第一列(驱动器、文件夹、文件)选择选项
- Qt中的文件选择
- CFileDialog多文件选择的问题
- 处理多个文件选择