虽然 QFileDialog::getOpenFileContent 在桌面上部署时按预期工作,但在 Web Assembly 上部署时它会忽略筛选器选项,显示所有可用文件,而不仅仅是筛选器中设置的文件。
在桌面上执行此代码片段...
auto fileContentReady = [this](const QString &fileName, const QByteArray &fileContent) {
if (!fileName.isEmpty()) {
emit fileOpened(fileName, fileContent);
}
};
QString myFilter (tr("Images (*.png *.xpm *.jpg)"));
QFileDialog::getOpenFileContent(myFilter, fileContentReady);
... 将打开一个文件选择器,其中仅显示 myFilter 提供的扩展名。 但同样的代码不适用于 Web Assembly 部署,并且会显示所有文件。
在 Qt 6.5.2 上进行了测试,但也不适用于以前的 SDK。在不同的浏览器上也会出现同样的情况 这是 Qt/emscripten 的错误还是我遗漏了什么?