Qt, C ++ - Добавление QDIR :: Filters в каталоги и файлы - PullRequest
2 голосов
/ 30 марта 2011

Я пытаюсь получить файлы и каталоги в Qt, используя фильтр QDir. Исходя из пользовательского ввода из командной строки, я планирую установить соответствующие фильтры и получить соответствующие файлы.

Пользовательский ввод, например: ./Retrieve -d C:/Sample -h

вернул бы мне все файлы, включая скрытые файлы в каталоге C: / Sample. Я планирую дать множество других вариантов, таких как

-h (for hidden files) -r (for readonly files) -s (for system files)

в настоящее время мой код похож на

QDir :: entryList (QDir :: Dirs | QDir :: NoDotAndDotDot | QDir :: Недоступен)

Если я хочу получить даже системные файлы, мне нужно добавить только Qdir::system filter. Как я могу добавить это к существующим фильтрам, о которых я уже упоминал? У меня вопрос: как добавить эти фильтры в список записей функции QDir, используя простой онлайн-код, но создать фильтры, посмотрев на ввод пользователя?

1 Ответ

3 голосов
/ 03 апреля 2011

Это трехэтапный процесс:

  1. Определите флаги, которые являются одинаковыми, независимо от пользовательского ввода, назовите его filters или что-то еще.
  2. Переберите аргументы командной строки и, когда найдены определенные аргументы, выполните логическое ИЛИ соответствующего флага QDir :: Filter с помощью filters
  3. Продолжайте, пока не будут обработаны все аргументы cmdline.

filters теперь имеет все фильтры, запрошенные пользователем.

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