首页 > 解决方案 > 使用 QFiledialog 保存或打开文件而不覆盖数据

问题描述

有没有一种方法可以保存文件,如果文件存在,打开它以附加数据,而不用在 Python 中使用 QfileDialog 覆盖它。

self.jsonPath, _ = QtWidgets.QFileDialog.getSaveFileName(self, 'Save File'QtCore.QDir.homePath() +  "/TrackDetails.json", "JSON Files(*.json)")
    self.path_MVEdit.setText(self.jsonPath)

如果文件已经存在,此语句总是要求我覆盖我的文件。

标签: python-3.x

解决方案


这可以通过简单地将 DontConfirmOverwrite 添加到您的保存对话框来完成

self.jsonPath, _ = QtWidgets.QFileDialog.getSaveFileName(self, 'Save File', QtCore.QDir.homePath() +  "/TrackDetails.json", 
                        "JSON Files(*.json)",None ,QtWidgets.QFileDialog.DontConfirmOverwrite)

推荐阅读