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() 在文件对话框中点击保存后返回一个空字符串