Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 记住最后打开的文件夹_C++_Qt_Qfiledialog - Fatal编程技术网

C++ 记住最后打开的文件夹

C++ 记住最后打开的文件夹,c++,qt,qfiledialog,C++,Qt,Qfiledialog,我使用QFileDialog::openfilename从用户那里获取一个文件作为输入,并且我已经指定了当用户打开对话框时显示的默认文件夹 但是qt在多次打开filedialog时不知何故记住了上次打开的文件夹。但我希望默认文件夹是显示给用户的初始文件夹,而不是上次打开的文件夹。在这种情况下,我没有显式地将最后打开的信息存储到任何地方 请告诉我这里的问题是什么以及如何解决。使用这个设置目录(str)安装默认路径,您永远不会得到最后打开的目录 void MainWindow::on_pushBut

我使用
QFileDialog::openfilename
从用户那里获取一个文件作为输入,并且我已经指定了当用户打开对话框时显示的默认文件夹

但是
qt
在多次打开filedialog时不知何故记住了上次打开的文件夹。但我希望默认文件夹是显示给用户的初始文件夹,而不是上次打开的文件夹。在这种情况下,我没有显式地将最后打开的信息存储到任何地方


请告诉我这里的问题是什么以及如何解决。

使用这个<代码>设置目录(str)安装默认路径,您永远不会得到最后打开的目录

void MainWindow::on_pushButton_clicked()
{
    QFileDialog dia;
    dia.setDirectory("D:/");//or another default folder

    QString path1 = dia.getOpenFileName(this,"Choose file");
}
它有明确的文件记录。getOpenFileName的第三个参数是dir

文件对话框的工作目录将设置为dir。如果dir包含文件名,则会选择该文件


显示调用
openFileName
并指定要打开的文件夹的代码。QString filePath=QFileDialog::getOpenFileName(此“开源文件夹”,路径“(*)”;这个对话框不是在包装本机对话框吗?因为它至少在Windows上有相同的行为。它有明确的文档记录,但如果我没有将上次打开的文件夹信息保存在任何地方,那么每次打开对话框时,它都应该打开我在参数中给出的相同文件夹,而不是上次打开的文件夹。我不理解此注释。您是否有权访问要在其中打开的目录?如果是,则将其作为第三个参数传递。如果没有,请参阅QSettings。