QT Как сохранить предыдущий выбранный пользователем путь к изображению в памяти для мгновенной загрузки с использованием QFileDialog - PullRequest
0 голосов
/ 12 июня 2018

Я работаю над программой, которая берет файл из каталога, и когда я снова пытаюсь выбрать путь, он не показывает тот же каталог.Итак, мне нужно исправить предыдущий путь, когда я выберу следующий путь, он выберет предыдущий путь.В первый раз я выберу этот путь Пример: - C: \ Work \ Projects \ GDCM \ gdcm-2.8.6 В следующий раз я снова нажму, чтобы взять файл с того же пути, но он покажет путь по умолчанию.Пример: - C: \ Program Files (x86)
Я использую QFileDialog для выбора пути: -

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

1 Ответ

0 голосов
/ 12 июня 2018

Третий параметр QFileDialog::getExistingDirectory указывает начальный каталог, используемый диалогом, и вы используете его неправильно.

Вы явно используете Windows, но вы всегда устанавливаете начальный каталог в домашний каталог Unix /home.Скорее инициализируйте вашу строковую переменную и повторно используйте ее в последующих вызовах.

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

Сохраните возвращаемое значение dir и используйте его повторно при следующем вызове диалогового окна для третьего параметра.Вам не нужно использовать setDirectory.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...