Qt:如何在 QFileDialog 上设置不区分大小写的过滤器?

tho*_*mas 5 qt file-extension qt5

有没有办法在 QFileDialog 上设置不区分大小写的过滤器。

我尝试了文档中的示例:

QStringList mimeTypeFilters;
mimeTypeFilters << "image/jpeg" // will show "JPEG image (*.jpeg *.jpg *.jpe)
            << "image/png"  // will show "PNG image (*.png)"
            << "application/octet-stream"; // will show "All files (*)"

QFileDialog dialog(this);
dialog.setMimeTypeFilters(mimeTypeFilters);
dialog.exec();
Run Code Online (Sandbox Code Playgroud)

但该对话框在 Linux 上仅显示具有较低文件扩展名的 jpeg。

使用setNameFilter也不起作用。

编辑

该问题仅出现在本机(Ubuntu) 文件对话框中。设置以下选项可以解决该问题,但如果它也适用于本机文件对话框,那就太好了。

dialog.setOption(QFileDialog::DontUseNativeDialog, true);
Run Code Online (Sandbox Code Playgroud)

https://bugreports.qt.io/browse/QTBUG-51712

Evg*_*eny 0

您如何尝试使用名称过滤器?它应该是这样的:

QFileDialog f(0, tr("Select file(s)"),QDir::homePath(),
              tr("Audio files(*.mp3 *.ogg *.wav *.flac);;All files(*)"));
Run Code Online (Sandbox Code Playgroud)