PyQt4: использование QFileDialog() для сохранения файлов, а не QFileDialog(). GetSaveFileName()
Я пытаюсь создать программу, которая позволяет пользователю открывать уже существующий файл и сохранять текущие файлы. Для открытия файла я использую:
dlg = QFileDialog(self, "Open", "", "Yaml(*.yaml)")
filenames = QStringList()
if dlg.exec_():
filenames = dlg.selectedFiles()
FILE_NAME = str(QFileInfo(filenames[0]).baseName())
Для сохранения файлов я использую:
_fileName = QFileDialog().getSaveFileName(self, "Save", "./", "Yaml(*.yaml)")
FILE_NAME = str(QFileInfo(_fileName).baseName())
Тем не менее, графически я замечаю различия между методами open и save.
Я знаю, что я не использую QFileDialog.getOpenFileName(...) Это потому, что QFileDialog.getSaveFileName(...) выводит кучу ошибок при загрузке GUI.
Failed enumerating UDisks2 objects: "org.freedesktop.DBus.Error.Disconnected"
"Not connected to D-Bus server"
В любом случае я могу использовать QFileDialog для сохранения файлов? Обратите внимание, что QFileDialog() по умолчанию имеет кнопку "Открыть", есть ли в любом случае, чтобы изменить это на "Сохранить"
1 ответ
Я нашел решение.
QFileDialog имеет метод с именем setAcceptMode(QFileDialog.AcceptMode), который позволяет вам переключаться между Open и Save. http://pyqt.sourceforge.net/Docs/PyQt4/qfiledialog.html
Использование для открытого:
QFileDialog.setAcceptMode(QtGui.QFileDialog.AcceptOpen)
Использование для сохранения:
QFileDialog.setAcceptMode(QtGui.QFileDialog.AcceptSave)