Как отфильтровать имена файлов с пробелом в QFileDialog? - PullRequest
0 голосов
/ 08 мая 2020

С Qt я хотел бы открыть QFileDialog, в котором отображаются только те файлы, которые содержат символ пробела.

Вот простой пример:

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

Однако My1stFilter (* *) соответствует всем файлам, а My2ndFilter (y x) соответствует всем файлам с именем «x» и именем «y», в то время как я хотел бы иметь только файлы с именем «xy». Это не очень удивительно, поскольку пробел обычно разделяет разные шаблоны фильтров (согласно https://doc.qt.io/qt-5/qfiledialog.html#setNameFilter)

Есть ли способ избежать специальных символов, таких как пробел, в фильтрах имён QFileDialog?
(у меня аналогичная проблема с скобками в фильтре имен.)

Я попытался установить backsla sh перед пробелом или поместить весь шаблон в одинарные и двойные кавычки без успех.

1 Ответ

1 голос
/ 08 мая 2020

Вам необходимо запустить go диалоговое окно с собственным файлом, которое просто не поддерживает это. Затем вы можете использовать прокси-модель для фильтрации на основе ваших критериев.

См. Фильтр регулярных выражений для QFileDialog

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...