带有默认目录的 QFileDialog

Posted

技术标签:

【中文标题】带有默认目录的 QFileDialog【英文标题】:QFileDialog with default directory 【发布时间】:2013-04-24 07:20:06 【问题描述】:

如何使用默认目录创建跨平台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(),但这需要更多的代码行。有什么最简单的方法吗?

【问题讨论】:

【参考方案1】:

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

【讨论】:

【参考方案2】:

你也可以使用:

QDesktopServices::storageLocation(QDesktopServices::HomeLocation)

返回用户的主目录。

【讨论】:

【参考方案3】:

这是我的代码

QString pathExport = dialog->getExistingDirectory(this, "Pilih Folder Export",QDir::homePath(),QFileDialog::ShowDirsOnly)+"/"+fileExport;

【讨论】:

以上是关于带有默认目录的 QFileDialog的主要内容,如果未能解决你的问题,请参考以下文章

使用带有目标目录的命令提示符start命令安装软件

带有“/foldername”的 mkdir 在 XAMPP 中的根目录上方创建文件夹

Linux之特殊的环境变量IFS以及如何删除带有空格的目录

Android 开发基础入门篇: 生成带有签名的apk安装包

Linux umask

Qt仿360安全卫士界面(自定义阴影边框类)