Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Seliverstoff от Январь 08, 2016, 22:44



Название: QFileDialog::setNameFilter - имя файла с пробелами.
Отправлено: Seliverstoff от Январь 08, 2016, 22:44
Нужно указать жесткий фильтр, вроде:

dialog.setNameFilter(tr("Программа Anime Studio Pro (Anime Studio Pro x64.exe)"));

Естественно, фильтр пытается разбивать всё по пробелам, а они нужны, т.е. получается - Anime;Studio;Pro;x64.exe - 4 фильтра, а нужен один с пробелами.

Как это обойти?


Название: Re: QFileDialog::setNameFilter - имя файла с пробелами.
Отправлено: egorsmkv от Январь 09, 2016, 01:16
Может проще проверять имя файла, которое было выбрано?


Название: Re: QFileDialog::setNameFilter - имя файла с пробелами.
Отправлено: Racheengel от Январь 09, 2016, 11:04
А если пробелы заменить на %20; это поможет?


Название: Re: QFileDialog::setNameFilter - имя файла с пробелами.
Отправлено: __Heaven__ от Январь 09, 2016, 12:37
А если пробелы заменить на %20; это поможет?
Не поможет.
В документации написано, что фильтры в круглых скобках разделяются пробелами. Как вариант, можно сделать колхозным методом
Код
C++ (Qt)
dialog.setNameFilter(tr("Программа Anime Studio Pro (Anime*Studio*Pro*x64.exe)"));
 


Название: Re: QFileDialog::setNameFilter - имя файла с пробелами.
Отправлено: Seliverstoff от Январь 09, 2016, 14:50
Может проще проверять имя файла, которое было выбрано?
Ну хотелось фильтр использовать еще и как подсказку для пользователя.


Название: Re: QFileDialog::setNameFilter - имя файла с пробелами.
Отправлено: Seliverstoff от Январь 09, 2016, 14:52
Как вариант, можно сделать колхозным методом
Код
C++ (Qt)
dialog.setNameFilter(tr("Программа Anime Studio Pro (Anime*Studio*Pro*x64.exe)"));
 
Ок, может как временное решение подойдет, спасибо.
или *x64.exe