QT 如何使用 QFileDialog 将先前用户选择的图像路径保留在内存中以便即时加载

QT How Keep the previous user selected image path in memory for instant loading using QFileDialog

我正在开发一个从目录获取文件的程序,当我再次尝试 select 路径时,它不会显示相同的目录。因此,当我选择下一条路径时,我需要修复上一条路径,它将 select 上一条路径。 我第一次会select这条路 示例:- C:\Work\Projects\GDCM\gdcm-2.8.6 下次我将再次单击以从同一路径获取文件,但它会显示默认路径。 示例:- C:\Program Files (x86)
我正在使用 QFileDialog selecting 路径:-

QString dir = "";
QFileDialog dia;
dir = dia.getExistingDirectory(this, tr("Select DICOM Directory"), "/home", QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);
dia.setDirectory(dir);

QFileDialog::getExistingDirectory的第三个参数指定对话框使用的初始目录,您没有正确使用它。

您显然在使用 Windows,但您总是将初始目录设置为 unix 主目录 /home。而是初始化您的字符串变量并在后续调用中重用它。

QFileDialog dia;
dir = dia.getExistingDirectory(this, tr("Select DICOM Directory"), dir, QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);

存储 dir 的 return 值,并在下次调用第三个参数的对话框时重新使用它。您不需要使用 setDirectory.