Qt,C ++ - 将QDIR :: Filters添加到目录和文件中

时间:2011-03-30 17:45:08

标签: c++ qt4

我正在尝试使用QDir Filter检索Qt中的文件和目录。根据命令行的用户输入,我计划设置适当的过滤器并检索相应的文件。

用户输入例如:./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 个答案:

答案 0 :(得分:3)

这是一个三步过程:

  1. 定义与用户输入无关的标志,称之为filters或其他。
  2. 迭代命令行参数,并在找到某些参数时,使用filters执行相应QDir :: Filter标志的逻辑或
  3. 继续操作直到处理完所有cmdline参数。
  4. filters现在拥有用户请求的所有过滤器。