我正在使用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版本不起作用,并在二进制文件所在的同一文件夹中打开对话框。
答案 0 :(得分:10)
答案 1 :(得分:2)
此外,如果您想对现有文件应用过滤器,可以尝试:
QString filter = "File Description (*.extention)";
// For example: "Mpeg Layer 3 music files (*.mp3)"
QFileDialog::getOpenFileName(this, "Select a file...", QDir::homePath(), filter);
然后,一旦用户选择了一个文件,QFileDialog::getOpenFileName
函数就会返回该文件的绝对地址。