【发布时间】:2020-10-15 00:10:36
【问题描述】:
我正在 PyQt5 上创建 Save As... 功能。
该函数应该打开一个文件对话框,并让用户指定他们想要的目录。
以 Steam 等某些应用程序为例。当你保存 Steam 时,他们会让你选择一个目录来保存它。
用户输入:D:// 但随后他们将为用户创建 D://Steam/。此 D://Steam/ 文件夹的名称是默认名称,可以更改为用户想要的任何名称,例如:D://asdfgh/,所有内容都将下载到那里。
您可以认为该功能与 Microsoft Word 中的“另存为...”功能相同,但它不是 Word 文档,而是目录。
这是我当前的代码
saveLocation = QFileDialog.getExistingDirectory(None, "Save As...", os.getenv('HOME'))
if saveLocation:
currentSaveLocation = saveLocation
fromDirectory = Main.tempPath
toDirectory = saveLocation
copy_tree(fromDirectory, toDirectory)
我无法将文件保存到指定目录中。
【问题讨论】:
-
你的问题不是很清楚。使用
getExistingDirectory,您将获得一个现有 路径,您是否希望用户能够选择一个“目标”目录,无论它是否存在? -
@musicamante 是的,我希望用户能够选择一个目标目录,无论它是否存在。目录的深度应该只是当前目录的+1,例如C://newdir是可以接受的,但C://new/dir是不可接受的(假设C盘中不存在new)
标签: python-3.x pyqt dialog pyqt5