保存具有自定义扩展名的文件
Posted
技术标签:
【中文标题】保存具有自定义扩展名的文件【英文标题】:Saving a file with a custom extension 【发布时间】:2012-06-20 14:31:42 【问题描述】:我有一个我在 Windows 中编写的程序,这段代码在 Windows 上运行,但是在 linux 中编译时,保存的文件没有 .l2p 扩展名。
void MainWindow::on_saveButton_clicked()
QString fileName = QFileDialog::getSaveFileName(this,
tr("Salvesta Projekt"), "",
tr("Latid Pindalaks (*.l2p)"));
if (fileName.isEmpty())
return;
...
我该怎么办?
【问题讨论】:
你得到的最终结果是什么? 它显示了保存对话框,看起来一切都很好,但是它保存的文件没有扩展名。 你想要强制的行为正是我讨厌 Windows 应用程序的地方。文件扩展名应该取决于用户是否使用(它们是文件名的一部分,由用户选择)。您可以让用户在“Latid Pindalaks (*.l2p)”和“所有文件 (*)”之间进行选择,并且只有在他选择第一个时才强制扩展。但我不确定 Qt 是否为您提供有关在对话框的组合框中选择了哪一个的信息。 【参考方案1】:如果文件名没有您需要的扩展名,只需添加即可:
QString fileName = QFileDialog::getSaveFileName(this,
tr("Salvesta Projekt"), "",
tr("Latid Pindalaks (*.l2p)"));
if (fileName.isEmpty())
return;
if (!fileName.endsWith(".l2p"))
fileName += ".l2p";
【讨论】:
以上是关于保存具有自定义扩展名的文件的主要内容,如果未能解决你的问题,请参考以下文章
使用具有自定义扩展名的 SDF 文件(SQLCE 数据库)作为我的 WPF 应用程序的数据文件类型
选择具有自定义扩展名的文件时运行我的应用程序(并执行某些操作)