5

我正在使用 Qt QFileDialog::getSaveFileName 和 QFileDialog::getOpenFileNames 让用户选择保存文件的位置以及在我的应用程序中打开哪些文件。

这个函数的第三个参数是你希望窗口默认打开的路径。在linux中,如何让对话框在用户主页中打开,在windows中,如何让对话框在win 7的用户用户文件夹或win xp的“我的文档”中打开?

目前我正在使用这样的对话框:QFileDialog::getOpenFileNames(this, "Select a file to open...", HOME);其中 HOME 是一个预处理器宏,在 UNIX 中是 ~ 而在 windows 中是 C:\

Unix 不工作,并在二进制文件所在的同一文件夹中打开对话框。

4

2 回答 2

12

使用.QDir::homePath

QFileDialog::getOpenFileNames(this, "Select a file to open...", QDir::homePath())
于 2012-06-13T06:34:00.663 回答
4

此外,如果您想对现有文件应用过滤器,可以尝试以下操作:

QString filter = "File Description (*.extention)";
// For example: "Mpeg Layer 3 music files (*.mp3)"
QFileDialog::getOpenFileName(this, "Select a file...", QDir::homePath(), filter);

然后一旦用户选择了一个文件,该文件的绝对地址就会由QFileDialog::getOpenFileName函数返回。

于 2015-04-08T13:10:46.013 回答