当我启动程序时,文件对话框位于某个目录中。然后我移动到其他目录并选择一些文件。选择文件后,我尝试获取从中选择文件的当前目录。但它不会返回当前目录,而是返回程序启动时文件对话框最初所在的原始目录。代码片段如下:
QFileDialog * fileDialog = new QFileDialog(this);
fileDialog->setFileMode(QFileDialog::ExistingFiles);
QListView* list = fileDialog->findChild<QListView*>("listView");
if(list)
{
list->setSelectionMode(QAbstractItemView::MultiSelection);
}
QTreeView* tree = fileDialog->findChild<QTreeView*>();
if(tree)
{
tree->setSelectionMode(QAbstractItemView::MultiSelection);
}
if(fileDialog->exec())
{
if(fileDialog->selectedFiles().size()>0)
{
QDir dir = fileDialog->directory();
fileDialog->update();
qDebug()<<dir.absolutePath();
}
}
你能告诉我我做错了什么吗?如何获取filedialog当前所在目录的绝对路径?