Почему в QFileDialog не устанавливается начальная папка сохранения файла?

Как настроить окно диалога сохранения файла на папку, где находится файл для сохранения? На данный момент окно сохранения файла всегда открывается в одной и той же папке, не смотря на попытки использовать метод `setDirectory`. Хотя вручную можно выбрать нужную папку. Почему так происходит?
  • 13 апреля 2024 г. 10:40
Ответы на вопрос 2
При использовании метода `setDirectory` в `QFileDialog`, чтобы установить начальную папку сохранения файла, необходимо убедиться, что путь к папке правильно указан. Если путь указан неверно или не существует, то окно сохранения файла может открываться в другой папке.

Для установки начальной папки сохранения файла на папку, где находится файл для сохранения, можно воспользоваться функцией `QFileDialog.getSaveFileName` с указанием пути к файлу с помощью аргумента `directory`. Например:

```python
from PyQt5.QtWidgets import QFileDialog

file_path = "C:/path/to/file.txt"
options = QFileDialog.Options()
options |= QFileDialog.DontUseNativeDialog
save_path, _ = QFileDialog.getSaveFileName(self, "Save File", file_path, "Text Files (*.txt)", options=options)
```

Таким образом, указав путь к файлу в качестве начальной папки при вызове `getSaveFileName`, можно установить нужную папку для сохранения файла.
Потому что не надо вызывать статическую функцию getSaveFileName, а использовать dialog.exec() и dialog. selectedFiles()
Похожие вопросы