Как установить выбранный фильтр на QFileDialog? - PullRequest
25 голосов
/ 22 октября 2009

У меня есть диалог открытия файла с тремя фильтрами:

QString fileName = QFileDialog::getOpenFileName(
        this,
        title,
        directory,
        tr("JPEG (*.jpg *.jpeg);; TIFF (*.tif);; All files (*.*)")
);

Отображается диалоговое окно с выбранным в качестве фильтра по умолчанию «JPEG». Я хотел разместить список фильтров в алфавитном порядке, чтобы «Все файлы» были первыми в списке. Однако, если я сделаю это, «Все файлы» будет выбранным по умолчанию фильтром, который мне не нужен.

Могу ли я установить фильтр, выбранный по умолчанию для этого диалогового окна, или мне нужно использовать первый указанный фильтр?

Я попытался указать 5-й аргумент (QString), чтобы установить выбранный по умолчанию фильтр, но это не сработало. Я думаю, что это может быть использовано только для получения фильтра, который был установлен пользователем.

1 Ответ

44 голосов
/ 22 октября 2009

Как это:

QString selfilter = tr("JPEG (*.jpg *.jpeg)");
QString fileName = QFileDialog::getOpenFileName(
        this,
        title,
        directory,
        tr("All files (*.*);;JPEG (*.jpg *.jpeg);;TIFF (*.tif)" ),
        &selfilter 
);

Документы немного расплывчаты по этому поводу, поэтому я выяснил это путем догадок.

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