QFileDialog - 用指定的文件名保存文件

Posted

技术标签:

【中文标题】QFileDialog - 用指定的文件名保存文件【英文标题】:QFileDialog - Saving a file with specified file name 【发布时间】:2016-07-13 17:52:04 【问题描述】:

如何让用户使用 QFileDialog 保存文件而不允许用户更改文件名?

我一直在使用这个代码:

QString fileName = QFileDialog::getSaveFileName(this, tr("Save File"),"commands.txt", tr("TXT files (*.txt)"));

但是,它允许用户更改文件名。我想要它让用户不能更改文件名,只能将文件保存在“commands.txt”下。

【问题讨论】:

由于您本质上需要一个文件夹选择器对话框,因此请使用 Directory QFileDialog::FileMode。 您必须创建一个自定义对话框才能做到这一点。但我建议呈现对话框。如果您不同意,您想让他们对对话框做什么;不让他们更改名称。 如果名称不可更改,为什么不使用一个消息框,询问用户是否要保存到文件,如果他们单击“是”,则保存文件。 【参考方案1】:

如果您想选择保存 commands.txt 的文件夹,请使用QFileDialog::getExistingDirectory 并将文件保存到指定的文件夹中。不要忘记检查返回的字符串isEmpty(),这意味着用户点击了“取消”。

如果您想让用户决定是否保存 commands.txt 或不使用带有“是”和“否”按钮的 QMessageBox

【讨论】:

以上是关于QFileDialog - 用指定的文件名保存文件的主要内容,如果未能解决你的问题,请参考以下文章

QT QFileDialog::getSaveFileName如何把文件默认保存路径设为桌面;

QFileDialog::getSaveFileName() 在文件对话框中点击保存后返回一个空字符串

QT 如何让getSaveFileName 这个控件不弹出保存窗口直接指定路径保存

QFileDialog : 获取文件名

通过 QFileDialog 下载/保存图像

QT中检索设定目录下所有指定文件的方法