IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Dir View Example

This example demonstrates the usage of a tree view, and smooth flicking on a touchscreen.

Article lu   fois.

L'auteur

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

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.

Image non disponible
 
Sélectionnez
    QCommandLineParser parser;
    parser.setApplicationDescription("Qt Dir View Example");
    parser.addHelpOption();
    parser.addVersionOption();
    QCommandLineOption dontUseCustomDirectoryIconsOption("c", "Set QFileSystemModel::DontUseCustomDirectoryIcons");
    parser.addOption(dontUseCustomDirectoryIconsOption);
    QCommandLineOption dontWatchOption("w", "Set QFileSystemModel::DontWatch");
    parser.addOption(dontWatchOption);
    parser.addPositionalArgument("directory", "The directory to start in.");
    parser.process(app);
    const QString rootPath = parser.positionalArguments().isEmpty()

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

 
Sélectionnez
    QFileSystemModel model;
    QFileIconProvider iconProvider;
    model.setIconProvider(&iconProvider);
    model.setRootPath("");
    if (parser.isSet(dontUseCustomDirectoryIconsOption))
        model.setOption(QFileSystemModel::DontUseCustomDirectoryIcons);
    if (parser.isSet(dontWatchOption))
        model.setOption(QFileSystemModel::DontWatchForChanges);
    QTreeView tree;
    tree.setModel(&model);

Declares model as data model for reading the local filesystem. model.setRootPath("") sets the current folder as the folder from which model will start reading. QTreeView object tree visualizes the filesystem in a tree structure.

 
Sélectionnez
    tree.setAnimated(false);
    tree.setIndentation(20);
    tree.setSortingEnabled(true);
    const QSize availableSize = tree.screen()->availableGeometry().size();
    tree.resize(availableSize / 2);
    tree.setColumnWidth(0, tree.width() / 3);

Sets layout options for animation, indentation, sorting, and sizing of the filesystem tree.

 
Sélectionnez
    QScroller::grabGesture(&tree, QScroller::TouchGesture);

Creates a QScroller instance to recognize gestures on touchscreens, so that you can flick the tree view with your finger.

Example project

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+