繁体   English   中英

如何在 QFileDialog 中过滤带有空格字符的文件名?

[英]How to filter file names with space character in a QFileDialog?

使用Qt我想打开一个 QFileDialog ,其中只显示那些包含空格字符的文件。

这是一个简单的例子:

QFileDialog::getOpenFileName(nullptr, "Open file", "/tmp", "My1stFilter (* *);;My2ndFilter (x y)");

但是My1stFilter ( * * ) 匹配所有文件,而My2ndFilter ( yx ) 匹配名称为“x”和名称为“y”的所有文件,而我只想拥有名称为“xy”的文件。 这并不奇怪,因为空白通常会分隔不同的过滤器模式(根据https://doc.qt.io/qt-5/qfiledialog.html#setNameFilter

有没有办法在 QFileDialog 的名称过滤器中转义特殊字符,如空格?
(名称过滤器中的括号字符也有类似的问题。)

我试图在空白之前设置反斜杠或将整个模式放在单引号和双引号中但没有成功。

您需要放弃根本不支持此功能的本机文件对话框。 然后您可以使用代理 model 根据您的条件进行过滤。

请参阅QFileDialog 的正则表达式过滤器

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM