6

如何QFileDialog使用默认目录创建跨平台?

我有一个类似的代码

QFileDialog::getSaveFileName(this,"Save File","/home",tr("Any File (*.*);;Text file (*.txt);;Compressed file (*.zip *.tar *.rar);;Image (*.png *.xpm *.jpg *.tiff)"))

这适用于 Linux。但在 Windows 中,用户目录将是"C:\Users". 我不知道在 Mac 上。我需要这个默认目录作为用户文件夹的对话。怎么做?

我看到了,toNativeSeparators()但这需要更多的代码行。有没有最简单的方法来做到这一点?

4

3 回答 3

7

使用QDir::home(), 然后QDir::cdUp()上一格。

于 2013-04-24T07:24:42.373 回答
4

您还可以使用:

QDesktopServices::storageLocation(QDesktopServices::HomeLocation)

它返回用户的主目录。

于 2013-04-24T08:37:43.207 回答
4

这是我的代码

QString pathExport = dialog->getExistingDirectory(this, "Pilih Folder Export",QDir::homePath(),QFileDialog::ShowDirsOnly)+"/"+fileExport;
于 2013-12-14T07:41:38.307 回答