Dir View Example

The Dir View example shows a tree view of the local file system. It uses the QFileSystemModel class to provide file and directory information.

The example supports a number of command line options. These options include:

  • Application description
  • -help option
  • -version option
  • if the optionc {-c} is specified, the application will not use custom directory options

      QCommandLineParser parser;
      parser.setApplicationDescription("Qt Dir View Example");
      parser.addHelpOption();
      parser.addVersionOption();
      QCommandLineOption dontUseCustomDirectoryIconsOption("c", "Set QFileIconProvider::DontUseCustomDirectoryIcons");
      parser.addOption(dontUseCustomDirectoryIconsOption);
      parser.addPositionalArgument("directory", "The directory to start in.");
      parser.process(app);
      const QString rootPath = parser.positionalArguments().isEmpty()

Declares a QFileSystemModel as data model for viewing the local file system. QFileSystem works with a cache, that is, it is updated continually with QFileSystemWatcher on that folder.


      QFileSystemModel model;
      model.setRootPath("");
      if (parser.isSet(dontUseCustomDirectoryIconsOption))
          model.iconProvider()->setOptions(QFileIconProvider::DontUseCustomDirectoryIcons);
      QTreeView tree;
      tree.setModel(&model);

Creates a model/view implementation called tree for viewing the filesystem.


      tree.setAnimated(false);
      tree.setIndentation(20);
      tree.setSortingEnabled(true);
      const QSize availableSize = QApplication::desktop()->availableGeometry(&tree).size();
      tree.resize(availableSize / 2);
      tree.setColumnWidth(0, tree.width() / 3);

      tree.setWindowTitle(QObject::tr("Dir View"));

Sets some formatting options for tree.

Files: