プログラムを起動すると、ファイルダイアログは特定のディレクトリにあります。次に、他のディレクトリに移動し、いくつかのファイルを選択します。ファイルが選択されたら、ファイルが選択されている現在のディレクトリを取得しようとします。しかし、現在のディレクトリは返されません。プログラムが開始されたときにファイルダイアログが最初にあった元のディレクトリが返されます。コード スニペットは次のとおりです。
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();
}
}
私がしている間違いを教えていただけますか?ファイルダイアログが現在あるディレクトリの絶対パスを取得するにはどうすればよいですか?