Отключение/включение кнопки выбора QFileDialog на основе определенных критериев

У меня есть QFileDialog, предлагающий пользователю выбрать каталог. Я использую QT версии 4.3.5. У меня тоже нет возможности обновиться.

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

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

Как я уже сказал, единственные полублизкие решения, которые я нашел, объясняются в этой теме QFileDialog для каталогов с определенным содержимым или в этой теме qfiledialog - Filtering Folders?

Оба этих полурешения моего вопроса требуют использования QFileSystemModel, который не был представлен до QT 4.4.

Как я могу включить/отключить кнопку «Выбрать» QFileDialog с QFileDialog::Directory, установленным как FileMode, в зависимости от того, содержит ли выбранный/активированный каталог два конкретных файла?

Спасибо


person halexh    schedule 03.02.2014    source источник


Ответы (1)


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

person Kuba hasn't forgotten Monica    schedule 03.02.2014