首页 > 解决方案 > 使用文件对话框创建新文件

问题描述

如何使用带有 pyqt5 的文件对话框创建新文件?到目前为止,这是我的代码,它在我创建新文件后打印出正确的路径,但实际上并没有创建它

def newFile(self):
    name = QtWidgets.QFileDialog.getSaveFileName()
    print(name)

标签: pythonpyqtpyqt5

解决方案


如文档中所示,该QFileDialog::getSaveFileName()函数不会创建或保存文件:

这是一个方便的静态函数,它将返回用户选择的文件名。该文件不必存在。

(强调我的)

实际上,创建了一个对话框,允许用户建立文件名,开发人员必须将其作为参考来保存他们想要的信息,所以你应该做的是验证文件名不为空并使用它来创建文件:

filename, _ = QtWidgets.QFileDialog.getSaveFileName()
if filename:
    with open(filename, "w") as f:
        # write contents

推荐阅读