Macos 使用QFileDialog::getSaveFileName将文件保存到受限位置不会';不要给出错误消息

Macos 使用QFileDialog::getSaveFileName将文件保存到受限位置不会';不要给出错误消息,macos,qt,qfiledialog,Macos,Qt,Qfiledialog,我正在MAC上处理示例QT项目,为了保存文件,我使用QFileDialog::getSaveFileName API和本机对话框,如果我将文件保存到只读目录,它仍然会被保存!!!但行为应该是,它应该给出错误信息。当我在windows系统上观察到一切正常时,它会给出错误消息,但在MAC id上,任何人都不能更早地面对这个问题 getSaveFileName()只返回用户选择的位置的路径。它实际上并不创建任何文件。在您尝试实际创建/写入文件之前,权限不是问题。getSaveFileName()只返回

我正在MAC上处理示例QT项目,为了保存文件,我使用QFileDialog::getSaveFileName API和本机对话框,如果我将文件保存到只读目录,它仍然会被保存!!!但行为应该是,它应该给出错误信息。当我在windows系统上观察到一切正常时,它会给出错误消息,但在MAC id上,任何人都不能更早地面对这个问题

getSaveFileName()
只返回用户选择的位置的路径。它实际上并不创建任何文件。在您尝试实际创建/写入文件之前,权限不是问题。

getSaveFileName()
只返回用户选择的位置的路径。它实际上并不创建任何文件。在您尝试实际创建/写入文件之前,权限不是问题。

您确定该目录对您的用户是只读的吗?如果OSX允许在只读目录中创建文件,我会非常惊讶。最后,这不是由Qt处理的,而是由操作系统处理的…我只是好奇,所以刚刚创建了一个对所有人都具有只读权限的目录,然后尝试保存文件,并将其保存!!!。。但是,通过使用cocoa本机对话,它是不允许的,但是通过使用Qt API,它确实允许您创建一个文件,或者您只是从QFileDialog::getSaveFileName()获得了一个文件名?在文档中没有提到文件权限,因此它们也可能被忽略,应用程序必须向用户发出此类错误的信号。您能否向我们展示您在Windows和OSX上运行的代码,以及演示您观察到的行为的代码?您能确认您在Windows和OSX上尝试了相同的代码吗?您确定该目录对您的用户是只读的吗?如果OSX允许在只读目录中创建文件,我会非常惊讶。最后,这不是由Qt处理的,而是由操作系统处理的…我只是好奇,所以刚刚创建了一个对所有人都具有只读权限的目录,然后尝试保存文件,并将其保存!!!。。但是,通过使用cocoa本机对话,它是不允许的,但是通过使用Qt API,它确实允许您创建一个文件,或者您只是从QFileDialog::getSaveFileName()获得了一个文件名?在文档中没有提到文件权限,因此它们也可能被忽略,应用程序必须向用户发出此类错误的信号。您能否向我们展示您在Windows和OSX上运行的代码,以及演示您观察到的行为的代码?你能确认你在Windows和OSX上试过相同的代码吗?奇怪的是sandy写到他观察到OSX和Windows之间的不同行为,所以我怀疑他真的创建了一个文件…是的,我实际上是用只读权限手动创建了文件,然后我使用了getSaveFileName()只需将某个x文件存储到该位置,下面是我的代码QString fileName=QFileDialog::getSaveFileName(NULL,“EXport Dir”,lastExportDir,filters.join(;;”),NULL,QFileDialog::ShowDirsOnly)。。。我正在使用一些过滤器,然后lastExportDir指向名称所示的最后导出的目录。是的,但从您所说的内容来看,您似乎希望
getSaveFileName()
尊重权限,它永远不会这样做,因为它实际上不做任何需要权限的事情。是的,没错,但我对它在windows上运行良好而在Mac上运行不正常感到困惑。我通过手动检查所选文件夹的权限及其工作情况来解决问题!!。奇怪的是,sandy写道,他观察到OSX和Windows之间的不同行为,所以我怀疑他实际上创建了一个文件……是的,我实际上使用只读权限手动创建了文件,然后使用getSaveFileName()只需将某个x文件存储到该位置,下面是我的代码QString fileName=QFileDialog::getSaveFileName(NULL,“EXport Dir”,lastExportDir,filters.join(;;”),NULL,QFileDialog::ShowDirsOnly)。。。我正在使用一些过滤器,然后lastExportDir指向名称所示的最后导出的目录。是的,但从您所说的内容来看,您似乎希望
getSaveFileName()
尊重权限,它永远不会这样做,因为它实际上不做任何需要权限的事情。是的,没错,但我对它在windows上运行良好而在Mac上运行不正常感到困惑。我通过手动检查所选文件夹的权限及其工作情况来解决问题!!。