Qt QFileDialog在选择目录时查看文件和文件夹

Qt QFileDialog在选择目录时查看文件和文件夹,qt,directory,qfiledialog,Qt,Directory,Qfiledialog,我刚开始学习Qt库,很难让QFileDialog正常工作。我希望用户能够选择一个目录,但也能够查看文件和文件夹,以便他们知道他们应该选择哪个目录。我在别处看到过类似的东西,但我尝试过的一切都没有对输出产生任何影响 我已经尝试创建自己的对话框,并将模式设置为directory,这表示它应该同时显示文件和文件夹: QFileDialog myDialog(this); myFileExplorer.setFileMode(QFileDialog::Directory); my

我刚开始学习Qt库,很难让QFileDialog正常工作。我希望用户能够选择一个目录,但也能够查看文件和文件夹,以便他们知道他们应该选择哪个目录。我在别处看到过类似的东西,但我尝试过的一切都没有对输出产生任何影响

我已经尝试创建自己的对话框,并将模式设置为directory,这表示它应该同时显示文件和文件夹:

    QFileDialog myDialog(this);
    myFileExplorer.setFileMode(QFileDialog::Directory);
    myFileExplorer.setDirectory("C:/");
    QString file = myFileExplorer.exec();
我也尝试过使用getExistingDirectory,但使用该函数时,它总是只显示目录。 谢谢

默认选项参数设置为仅显示目录,您必须将其更改为

QFileDialog::DontUseNativeDialog

但不幸的是,您将无法使用本机对话框。

您是否尝试将最后一个输入参数传递给等于0的getExistingDirectory?它在OS X上显示文件,但在Windows上不显示文件。这是Qt错误。也许,您应该看看是否可以直接从WinAPI调用所需的对话框。或者您需要实现文件浏览/选择。有趣的是,Win API不支持此类选项,或者它是本机对话框的Qt错误。在C中,它被称为commonOpenFileDialog,并且似乎也不支持该选项。前一段时间有人问了一个关于stackoverflow的问题——所以我相信这不是一个Qt错误。好的,这很有效,谢谢!所以WinAPI最终不支持这种功能,所以我们只能使用非本机对话框。
QFileDialog::DontUseNativeDialog