Python PyQt4:使用QFileDialog()保存文件而不是QFileDialog()。getSaveFileName()

Python PyQt4:使用QFileDialog()保存文件而不是QFileDialog()。getSaveFileName(),python,pyqt,pyqt4,qfiledialog,Python,Pyqt,Pyqt4,Qfiledialog,我正在尝试创建一个程序,允许用户打开一个预先存在的文件并保存当前文件。要打开我正在使用的文件,请执行以下操作: dlg = QFileDialog(self, "Open", "", "Yaml(*.yaml)") filenames = QStringList() if dlg.exec_(): filenames = dlg.selectedFiles() FILE_NAME = str(QFileInfo(f

我正在尝试创建一个程序,允许用户打开一个预先存在的文件并保存当前文件。要打开我正在使用的文件,请执行以下操作:

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())
用于保存我正在使用的文件:

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()默认情况下有一个“打开”按钮,是否可以将其更改为“保存”

我找到了一个解决方案

QFileDialog有一个名为setAcceptMode(QFileDialog.AcceptMode)的方法,允许您在打开和保存之间进行更改

开放式电脑的用途:

QFileDialog.setAcceptMode(QtGui.QFileDialog.AcceptOpen)
保存的用法:

QFileDialog.setAcceptMode(QtGui.QFileDialog.AcceptSave)